Effective Objective-C 2.0 学习笔记
来源:互联网 发布:打开数据连接无法上网 编辑:程序博客网 时间:2024/06/06 07:34
第3条:多用字面量语法,少用与之等价的方法
字面量语法:NSNumber *intNumber = @1;NSNumber *floatNumber = @2.5f;NSNumber *doubleNumber = @3.14159;NSNumber *boolNumber = @YES;NSNumber *charNumber = @'a';
字面量语法也适用于下述表达式:int x = 5;float y = 6.32f;NSNumber *expressionNumber = @(x * y);
字面量数组,用字面量语法创建数组时要注意,若数组元素对象中有nil,则会抛出异常NSArray *animals = @[@"cat", @"dog", @"mouse", @"badger"];NSString *dog = animals[1];
字面量字典NSDictionary *personData = @{@"firstName" : @"Matt", @"lastName" : @"Galloway", @"age" : @28};NSString *lastName = personData[@"lastName"];
可变数组与字典,用下标写数据,则是:mutableArray[1] = @"dog";mutableDictionary[@"lastName"] = @"Galloway";
用字面量创建可变数组与字典NSMutableArray *mutable = [@[@1, @2, @3, @4, @5]mutableCopy];
第4条:多用类型常量,少用#define预处理指令
编译单元内的常量,命名规则为变量名前加k
// 实现文件static const NSTimeInterval kAnimationDuration = 2.25f;static NSString *const kConstant = @"VALUE";
全局常量,命名规则为变量名前加类名
// 头文件extern NSString *const EOCStringConstant; extern const NSTimeInterval EOCAnimatedViewAnimationDuration; // 实现文件NSString *const EOCStringConstant = @"VALUE"; const NSTimeInterval EOCAnimatedViewAnimationDuration = 0.3;
第5条:用枚举表示状态、选项、状态码
typedef NS_ENUM(NSInteger, RTSex) { RTSexMan, RTSexWoman };
在处理枚举类型的switch语句中不要实现default分支。这样的话,加入新枚举之后,编译器就会提示开发者:switch语句并未处理所有枚举。
第7条:在对象内部尽量直接访问实例变量
在对象内部读取数据时,应该直接通过实例变量来读,而写入数据时,则应通过属性来写。
在初始化方法及dealloc方法中,总是应该直接通过实例变量来读写数据。
有时会使用惰性初始化技术配置某份数据,这种情况下,需要通过属性来读取数据。
0 0
- 《Effective Objective-C 2.0》学习笔记1
- Effective Objective-C 2.0 学习笔记之一
- Effective Objective-C 2.0学习笔记(部分)
- Effective Objective-C 2.0 学习笔记
- 学习笔记:Effective Objective-C
- Effective Objective-C学习笔记
- Effective Objective - C 2.0 笔记
- 《Effective Objective C 2.0》笔记
- Effective Objective-C 2.0 学习笔记---(一)
- Effective Objective-c 2.0学习笔记(持续更新中 。。。)
- Effective Objective-C学习笔记 (持续更新)
- Effective Objective-C 学习笔记(一)
- Effective-Objective-C学习笔记1-熟悉Objective-C
- Effective Objective-C笔记
- effective objective-c 2.0 笔记 第一章 :熟悉Objective-C
- 笔记Effective objective-C 2.0之了解Objective-C
- Effective Objective-C 2.0 学习日记
- Effective Objective-C 2.0
- brew 安装 nvm
- 例题5.2 独轮车 UVa10047
- C++中智能指针的设计和使用
- 日经春秋 20150929
- Android Intent全面解析
- Effective Objective-C 2.0 学习笔记
- 友元实例:友元类及友元函数
- 观影会
- LCD——画线函数Glib_Line算法
- 夕拾-数据结构-快速排序
- Spark学习之路
- 状态模式
- 基本算法
- B\S备忘录番外篇——啊!这是一篇总结!