开发者社区> 问答> 正文

ios如何把一个包含自定义对象的数组序列化到磁盘?

我想把一个包含自定义的对象的数组写到磁盘
如:
User *user1 = [User alloc] init];
User *user2 = [User alloc] init];
NSArray *userArr = @[user1,user2];

该怎么做?

展开
收起
a123456678 2016-07-28 16:20:46 2388 0
2 条回答
写回答
取消 提交回答
  • 自定义对象实现NSCoding协议,在.m里面实现下面两个方法

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

    self = [super init];
    if (self) {
        self.objectID = [aDecoder decodeObjectForKey:@"objectID"];
        self.createdAt = [aDecoder decodeObjectForKey:@"createdAt"];
        self.updatedAt = [aDecoder decodeObjectForKey:@"updatedAt"];
    }
    return self;

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

    [aCoder encodeObject:self.objectID forKey:@"objectID"];
    [aCoder encodeObject:self.createdAt forKey:@"createdAt"];
    [aCoder encodeObject:self.updatedAt forKey:@"updatedAt"];

    }
    再然后用那个NSKeyedArchiver就可以了

    2019-07-17 20:01:26
    赞同 展开评论 打赏
  • 实现NSCoding protocol。

    2019-07-17 20:01:26
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
手淘iOS性能优化探索 立即下载
From Java/Android to Swift iOS 立即下载
深入剖析iOS性能优化 立即下载