为什么在oc中要使用C的结构体???
oc的对象内存都是动态分配的 效率低 C结构体可以分配在栈中 效率高 因为Foundation kit中又很多频繁使用的临时对象 故用C结构体 提高效率
字符串比较:
compare区分大小写的比较
compare:option option 比较方式
我们创建字符串的时候给定的容量 只是系统的一个参考值 以后可以进行扩容的
NSArray限制:
1.只可以存储oc对象
2.不可以存储nil(nil是一个特殊标志 代表着数组的结束)
枚举
枚举器:相当于std中的迭代器 是用来遍历一个集合的 它会根据是否元素值为nil判断是否遍历到集合末尾(这也是集合不能包含nil的原因之一)
通过枚举器进行访问集合时 不能改变集合中的元素数量 否则会导致枚举器混乱
快速枚举:类似于脚本中的遍历
for(obj in 集合){ }
还有另外一种方式是向其中传递一个块 进行遍历 好处是 可以并发的遍历 而快速枚举和枚举则是线性的
其它类
nsnumber:可将char int float bool 进行封装成对象
nsvalue:nsnumber的子类 可以对结构体进行封装
nsnull:只有一个类方法 null 方法返回值为nil