您的位置:首页 > 其它

NSUserDefaults保存自定义对象

2014-05-02 11:37 381 查看
http://zani.iteye.com/blog/1431239

////// 归档

-(void)encodeWithCoder:(NSCoder *)aCoder{

    [aCoder encodeObject:self.name
forKey:@"name"];

    [aCoder encodeObject:self.password
forKey:@"password"];

    

}

// jiedang

-(id)initWithCoder:(NSCoder *)aDecoder{

    if(self =[super
init]){

        self.name =[aDecoder
decodeObjectForKey:@"name"];

        self.password =[aDecoder
decodeObjectForKey:@"password"];

    }

    return
self;

}

 NSMutableArray *array =[[NSMutableArray
alloc]
init];

    for(int i=0;i<10;i++){

        Person *p  =[[Person
alloc] init];

        p.name=[NSString
stringWithFormat:@"name_%d",i];

        p.password =[NSString
stringWithFormat:@"password_%d",i];

        [array addObject:p];

    }

    

    [[NSUserDefaults 
standardUserDefaults] setObject:[NSKeyedArchiver
archivedDataWithRootObject:array] forKey:@"array"];

    [[NSUserDefaults
standardUserDefaults] synchronize];

    

    // 读取

    NSData *data =[[NSUserDefaults
standardUserDefaults] objectForKey:@"array"];

    NSArray *newArray =[NSKeyedUnarchiver
unarchiveObjectWithData:data];

    

    for (Person *p
in newArray) {

        NSLog(@"%@ ------%@ ",p.name,p.password);

    }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息