码迷,mamicode.com
首页 > 移动开发 > 详细

iOS --归档存储自定义对象

时间:2016-05-02 22:55:47      阅读:216      评论:0      收藏:0      [点我收藏+]

标签:

#import <Foundation/Foundation.h>

@interface User : NSObject<NSCoding>   //遵循NSCoding协议

/** name */
@property (nonatomic, copy) NSString *name;

/** age */
@property (nonatomic, assign) NSInteger age;

//自定义初始化方法
- (instancetype)initWithName:(NSString *)name age:(NSInteger)age;

@end

-----------

#import "User.h"

@implementation User

//初始化
- (instancetype)initWithName:(NSString *)name age:(NSInteger)age
{
    self = [super init];
    if (self) {
        self.name = name;
        self.age = age;
    }
    
    return self;
}

//归档
- (void)encodeWithCoder:(NSCoder *)aCoder
{
    [aCoder encodeObject:self.name forKey:@"name"];
    [aCoder encodeInteger:self.age forKey:@"age"];
}

//反归档
- (instancetype)initWithCoder:(NSCoder *)aDecoder
{
    self = [super init];
    if (self) {
        self.name = [aDecoder decodeObjectForKey:@"name"];
        self.age = [aDecoder decodeIntegerForKey:@"age"];
    }
    
    return self;
}



@end
    //归档 编码
    User *user = [[User alloc] initWithName:@"张三" age:18];
    NSData *userData = [NSKeyedArchiver archivedDataWithRootObject:user];
    
    //反归档  解码
    User *user1 = [NSKeyedUnarchiver unarchiveObjectWithData:userData];

 

iOS --归档存储自定义对象

标签:

原文地址:http://www.cnblogs.com/zhangshan/p/5453199.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!