NSUserDefaults保存自定义对象

来源:互联网 发布:linux关闭安全狗 编辑:程序博客网 时间:2024/05/16 11:09

http://zani.iteye.com/blog/1431239


////// 归档

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

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

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

    

}


// jiedang

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

    if(self =[superinit]){

        self.name =[aDecoderdecodeObjectForKey:@"name"];

        self.password =[aDecoderdecodeObjectForKey:@"password"];

    }

    return self;

}



 NSMutableArray *array =[[NSMutableArrayalloc] init];

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

        Person *p  =[[Personalloc] init];

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

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

        [array addObject:p];

    }

    

    [[NSUserDefaults standardUserDefaults] setObject:[NSKeyedArchiverarchivedDataWithRootObject:array] forKey:@"array"];

    [[NSUserDefaultsstandardUserDefaults] synchronize];

    

    // 读取

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

    NSArray *newArray =[NSKeyedUnarchiverunarchiveObjectWithData:data];

    

    for (Person *pin newArray) {

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

    }




0 0