<3>NSLog(NSString *format….)
<4> 数组(NSArray、NSMutableArray---父子关系)
见下图
<5> 词典对象(NSDictionary、NSMutableDictionary)
见下图<6> 集合对象(NSSet、NSMutableSet)
见下图(2)文件操作(NSFileManager)
(3)内存管理:
<1>NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
[pool drain]
常用于循环中减少生成的临时对象占用空间的影响。通过调用[objectautorelease]把对象加入池中,等到不用时自动释放。
引用计数:
[object retain] 应用次数+1
[object release] 引用次数-1
常量字符串与NSString没有计数器机制,而NSMutableString拥有。
释放对象时最后调用dealloc方法。
见下图(4)浅拷贝与深拷贝(内存模型与java一样)
需要实现<NSCopy>协议或者<NSMutableCopy>,类需要实现copyWithZone、mutableCopyWithZone方法来响应copy消息。
(5)归档
<1>使用XML属性列表进行归档
NSString、NSDictinary、NSArray、NSData、NSNumber等类实现了writeToFile方法写到文件中,例如:见下图
可以得到XML(.plist)
见下图
要都会数据用dictionaryWithContendOfFile或arrayWithContentsOfFile,要读回数据使用dataWithContentOfFile,要都会字符串对象stringWithContentOfFile。
<2>NSKeyedArchiver归档
能将除了字符串、数字以外的各种对象存储起来
包含<Foundation/NSKeyedArchiver.h>
使用NSKeyedArchiver静态方法archiveRootObject:toFile:
读取利用unArchiveObjectWithFile:方法。
<3>使用NSData创建自定义档案