编写高质量代码61条建议中---借鉴备注

2>.h文件中减少使用#import 改用@class

3>用const enum代替#define

.h中
extern const NSString * MY_NAME;
.m中
const NSString * MY_NAME = @"name";

typedef NS_ENUM(NSInteger, MyNumberCount) {
  MyNumberCountMargin       = 20;
  MyNumberCountLeftMargin   = 30;
  MyNumberCountRightMargin  = 1 << 3;
...
};
typedef NS_OPTIONS(NSInteger, MyNumberCount) {
  与enum使用相同
};

4>字面量的使用

注 : 字面量好用,但一定注意为nil有崩溃风险,变量一定要注意

NSNumber *num = @(value);
NSString *str = @(getenv(PATH)); 
 等价于 [NSString stringWithUTF8String: getenv("PATH")(原来没见过,相对比较少用)
NSDictionary *dict = @{key1 : value1,key2 : value2...};
NSArray *array = @[obj1,obj2,obj3...}; 

5>用instancetype取代id作为init、工厂方法等返回值

6>使用模块建立复合关系

用@import取代#import 不需要预处理逐行用文件所有内容替换#import(原来没接触过,看着还不错,可以尝试一下)好像不需要什么操作

Build Settings -> enable Modules = YES(默认开启,开启后默认进行隐式转换#import->@import) 
@import UIKit
如果只想用UIView
@import UIKit.UIView

7>Objective-C 和C++混合使用注意点(我没混用过不做重点)

你可能感兴趣的:(编写高质量代码61条建议中---借鉴备注)