1.引入头文件时尽量延后,尽量减少引入头文件的数量,因为这会增加编译时间。
2.多用字面量语法,少用与之等价的方法
3.字面量字符串:NSString *somrthing = @“good”;
字面量数值: NSNumber *intNumber = @1;
NSNumber *floatNumber = @2.3f;
NSNumber *doubleNumber = @3.1415926;
NSNumber *boolNumber = @YES;
NSNumber *charNumber = @‘a’;
字面量数组:NSArray *animalsArr = @[@“cat”, @“dog”, @“pig”];
字面量字典:NSDictionary *personDic = @{@“name” : @“xiaokang”, @“sex” : @“man”, @“age” : @20};
注意:用字面量创建的数组或字典时,弱值中有nil,则会抛出异常。
4.多用类型常量,少用预处理指令。
4.1 本类使用 命名规则:若是常量,前面加字母k
// .m文件
static const NSTimeInterval kSuration = 0.3;
4.2 其他类使用 命名规则:若是常量,以类名为前缀
// .h文件
extern NSString *const PersonalLoginNotication;
// .m文件
NSString *const PersonalLoginNotication = @"Value";
5.在Foundation框架外使用enum来定义,在Foundation框架中需要按位或操作来组合的枚举都应使用NS_OPTIONS定义。若枚举不需要相互组合,则使用NS_ENUM来定义。
typedef NS_ENUM(NSInteger, UITableViewCellEditingStyle) {
UITableViewCellEditingStyleNone,
UITableViewCellEditingStyleDelete,
UITableViewCellEditingStyleInsert
};
typedef NS_OPTIONS(NSUInteger, UIRemoteNotificationType) {
UIRemoteNotificationTypeNone = 0,
UIRemoteNotificationTypeBadge = 1 << 0,
UIRemoteNotificationTypeSound = 1 << 1,
UIRemoteNotificationTypeAlert = 1 << 2,
UIRemoteNotificationTypeNewsstandContentAvailability = 1 << 3,
}