iOS 沙盒储存

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;
}

猜你喜欢

转载自blog.csdn.net/pAdision/article/details/52493641