您的位置:首页 > 编程语言

编写高质量代码-OC 第2章 数据类型、集合和控制语句

2015-11-06 16:25 369 查看
8、C语言与Objective—C语言的关系条件是充分而非必要条件
9、高度警惕空指针和野指针的袭击

1、空指针(NULL指针),是指没有存储任何内存地址的指针。野指针,是指向“垃圾内存”(不可用内存)的指针

2、利用野指针发消息是很危险的。

3、利用空指针发消息是没有任何问题的。

10、在64位环境下尽可能利用标记指针

1、利用标记(Tagged)指针,可以在指针地址中保存或附加更多地信息。

2、利用标记(Tagged)指针处理NSNumber,直接可以把实际的值保存到指针中,而无须再去访问堆中的数据,可提高内存访问速度和整体运算速度。

3、在32位和64位的环境下,isa指针会产生不同的变化。

11、谨记兼容32位和64位环境下代码编写事项

1、不要将长整型数据赋予整型

2、利用用NSInteger来处理32位和64位之间的转换

3、创建数据结构要注意固定大小和对其

12、清楚常量字符串和一般字符串的区别

1、由于编译器的优化,相同内容的常量字符串的地址值是完全相同的

2、如果使用常量字符串来初始化一个字符串,那么这个字符串也将是相同的常量

3、对常量字符串永远不要release

13、在访问集合时要优先考虑使用快速枚举
14、有序对象适宜存于数组,而无序对象适宜存于集

1、数组(NSArray)可维持持续性,故适宜存储有序的对象,但每一项必须是Objective-C对象。集(Sets)不维持秩序,故适宜存储无序对象。

2、同一数组(NSArray)可以保存不同的对象,但不能存储float、int、double等基本类型和nil,否则存储基本类型都会被设置为0,不能存储nil是因为数组必须用nil来结尾。

3、快速枚举是访问数组(NSArray)中的对象的一种比较快的方法。

4、使用NSArray和NSDictionary类可以直接将其内容写入磁盘进行持久化。

15、存在公共键时,字典是在对象之间传递信息的绝佳方式
16、明智而审慎地使用BOOL类型

1、整型转为BOOL形,使用三元(Ternery)操作符,以保证返回YES或NO值

2、整形转换为BOOL型的时候要避免直接和YES做对比

3、BOOL值进行逻辑运算(&&, ||, !)不但有效,而且还可以确保返回值安全的转为BOOL型,无须三元操作符
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: