Ojective学习之五

来源:互联网 发布:c 多进程编程 编辑:程序博客网 时间:2024/06/09 17:06

<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创建自定义档案


原创粉丝点击