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]創建可變數據空間新聞熱點
疑難解答