NSString *home = NSHomeDirectory();
NSString *documents = [home stringByAppendingPathCom
// 不建议采用,因为新版本的操作系统可能会修改目录名
u利用NSSearchPathForDirectori// NSUserDomainMask 代表从用户文件夹下找
// YES 代表展开路径中的波浪字符“~”
NSArray *array =
// 在iOS中,只有一个目录跟传入的参数匹配,所以这个集合里面只有一个元素
NSString *documents = [array objectAtIndex:0];
ltmp:NSString*tmp= NSTemporaryDirectory();llLibrary/Caches:(跟Documents类似的2种方法)u利用沙盒根目录拼接”Caches”字符串u利用NSSearchPathForDirectori每次归档对象时,都会调用这个方法。一般在这个方法里面指定如何归档对象中的每个实例变量,可以使用encodeObject:forKey:方法归档实例变量
uinitWithCoder:每次从文件中恢复(解码)对象时,都会调用这个方法。一般在这个方法里面指定如何解码文件中的数据为对象的实例变量,可以使用decodeObject:forKey方法解码实例变量
@implementation Person
- (void)encodeWithCoder:(NSCoder*)encoder {
}
- (id)initWithCoder:(NSCoder*)decoder {
}
- (void)dealloc{
}
@end
l使用archiveRootObject:toFile:方法可以将一个对象直接写入到一个文件中,但有时候可能想将多个对象写入到同一个文件中,那么就要使用NSData来进行归档对象lNSData可以为一些数据提供临时存储空间,以便随后写入文件,或者存放从磁盘读取的文件内容。可以使用[NSMutableDatadata]创建可变数据空间新闻热点
疑难解答