Effective Objective-C 2.0 第一章OC

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,
}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容