iOS 沙盒儲存
阿新 • • 發佈:2018-12-18
NSString*str=[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];
NSString*path=[str stringByAppendingPathComponent:@"account.plist"];
//1.
[responseObject writeToFile:path atomically:YES];
//2.將一個物件寫入沙盒 需要用到一個NSKeyedArchiver 自定義物件的儲存必須用這個
//注:改物件要遵循NSCoding
[NSKeyedArchiver archiveRootObject:model toFile:path];
// 在物件中重寫encodeWithCoder:(NSCoder*)aCoder 方法,目的是告訴編譯器把哪些屬性存入沙盒
-(void)encodeWithCoder:(NSCoder *)aCoder { [encoder encodeInt:self.uid forKey:@"uid"]; [encoder encodeObject:self.name forKey:@"name}"]; [encoder encodeObject:self.tel forKey:@"tel"];
// 反歸檔 的時候會呼叫這個方法 解檔 -(instancetype)initWithCoder:(NSCoder *)decoder { if (self=[super init]) { self.uid=[decoder decodeIntForKey:@"uid"]; self.name=[decoder decodeObjectForKey:@"name"]; self.tel=[decoder decodeObjectForKey:@"tel"]; self.birthday=[decoder decodeObjectForKey:@"birthday"]; } return self; }