色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

您好,歡迎來電子發燒友網! ,新用戶?[免費注冊]

您的位置:電子發燒友網>源碼下載>通訊/手機編程>

幾條建議助你在iOS中書寫代碼規范

大?。?/span>0.05 MB 人氣:0 2017-09-25 需要積分:1

1.精簡代碼, 返回最后一句的值,這個方法有一個優點,所有的變量都在代碼塊中,也就是只在代碼塊的區域中有效,這意味著可以減少對其他作用域的命名污染。但缺點是可讀性比較差
NSURL *url = ({ NSString *urlString = [NSString stringWithFormat:@“%@/%@”, baseURLString, endpoint];
[NSURL URLWithString:urlString];
});
2.關于編譯器:關閉警告:
#pragma clang diagnostic push
#pragma clang diagnostic ignored “-Warc-performSelector-leaks”
[myObj performSelector:mySelector withObject:name];
#pragma clang diagnostic pop
3.忽略沒用的變量
#pragma unused (foo)
明確定義錯誤和警告
#error Whoa, buddy, you need to check for zero here!
#warning Dude, don‘t compare floating point numbers like this!
4.避免循環引用
如果【block內部】使用【外部聲明的強引用】訪問【對象A】, 那么【block內部】會自動產生一個【強引用】指向【對象A】
如果【block內部】使用【外部聲明的弱引用】訪問【對象A】, 那么【block內部】會自動產生一個【弱引用】指向【對象A】
__weak typeof(self) weakSelf = self;
dispatch_block_t block = ^{
[weakSelf doSomething]; // weakSelf != nil
// preemption, weakSelf turned nil
[weakSelf doSomethingElse]; // weakSelf == nil
};
最好這樣調用:
__weak typeof(self) weakSelf = self;
myObj.myBlock = ^{
__strong typeof(self) strongSelf = weakSelf;
if (strongSelf) {
[strongSelf doSomething]; // strongSelf != nil
// preemption, strongSelf still not nil(搶占的時候,strongSelf 還是非 nil 的)
[strongSelf doSomethingElse]; // strongSelf != nil }
else { // Probably nothing.。. return;
}
};
5.宏要寫成大寫,至少要有大寫,全部小寫有時候書寫不提示參數;
6.建議書寫枚舉模仿蘋果——在列出枚舉內容的同時綁定了枚舉數據類型NSUInteger,這樣帶來的好處是增強的類型檢查和更好的代碼可讀性,示例:
// 不推薦寫法
typedef enum{
UIControlStateNormal = 0,
UIControlStateHighlighted = 1 《《 0,
UIControlStateDisabled = 1 《《 1,
} UIControlState;
// 推薦寫法
typedef NS_OPTIONS(NSUInteger, UIControlState) {
UIControlStateNormal = 0,
UIControlStateHighlighted = 1 《《 0,
UIControlStateDisabled = 1 《《 1,
};
7.建議加載xib,xib名稱用NSStringFromClass(),避免書寫錯誤
// 推薦寫法
[self.tableView registerNib:[UINib nibWithNibName:NSStringFromClass([DXRecommendTagVCell class]) bundle:nil] forCellReuseIdentifier:ID];
// 不推薦寫法
[self.tableView registerNib:[UINib nibWithNibName:@“DXRecommendTagVCell” bundle:nil] forCellReuseIdentifier:ID];
8.場景需求:在繼承中,凡是要求子類重寫父類的方法必須先調用父類的這個方法進行初始化操作;建議:父類的方法名后面加上NS_REQUIRES_SUPER; 子類重寫這個方法就會自動警告提示要調用這個super方法,示例代碼
// 注意:父類中的方法加`NS_REQUIRES_SUPER`,子類重寫才有警告提示
- (void)prepare NS_REQUIRES_SUPER;

非常好我支持^.^

(0) 0%

不好我反對

(0) 0%

用戶評論

      ?
      主站蜘蛛池模板: 日韩AV爽爽爽久久久久久 | 天天爽夜夜爽 | 无码国产成人午夜在线观看不卡 | 亚洲欧洲日韩视频在钱 | 国产人妖一区二区 | 亚洲精品视频观看 | 国产在线精品亚洲观看不卡欧美 | 麻豆精品一区二正一三区 | 精品动漫国产亚洲AV在线观看 | 亚洲欧美激情精品一区二区 | 黑人 尺寸 强行害怕 痛哭 | 国产人妻系列无码专区97SS | 国产午夜在线精品三级a午夜电影 | 久久综合久久伊人 | 88.7在线收听| 无人区乱码1区2区3区网站 | 免费看国产曰批40分钟 | 国产精品亚洲AV毛片一区二区三区 | 小骚妇BBBXXX| 野花社区WWW韩国日本 | 欧美xxxxb| 亚洲成人国产 | 国产精品亚洲视频在线观看 | 国产睡熟迷奷系列网站 | 打卡中国各地奋斗第一线 | 抽插H浊水H嫩B父皇 虫族bl文全肉高h | 97人妻丰满熟妇AV无码 | 国产亚洲精品欧洲在线视频 | 无套内射在线观看THEPORN | 99热久这里都是精品小草 | 久久精品热99看二 | 97在线免费观看 | 免费毛片试看 | 麻豆文化传媒一区二区 | 国产毛多水多高潮高清 | 国产高清在线观看 | 一个人在线观看视频免费 | 全彩黄漫火影忍者纲手无遮挡 | 亚洲午夜久久久精品电影院 | 麻花传媒XK在线观看 | 99pao成人国产永久免费视频 |