所以,我意识到我需要使用 NSCoding 将我的自定义对象保存到 plist。
initWithCoder
我正在苦苦挣扎的部分正是在我实现了andencodeWithCoder
方法之后我是如何做到这一点的。他们分别返回id
和void
,所以如果他们已经将我的对象转换为 NSData 或他们对他们做的任何事情,数据在哪里,所以我可以保存它?
我有这样设置的方法:
- (id)initWithCoder:(NSCoder *)decoder { // Decode
if (self = [super init]) {
self.name = [decoder decodeObjectForKey:@"gameName"];
self.genre = [decoder decodeObjectForKey:@"gameGenre"];
self.rating = [decoder decodeObjectForKey:@"gameRating"];
}
return self;
}
- (void)encodeWithCoder:(NSCoder *)encoder { // Encode
[encoder encodeObject:self.name forKey:@"gameName"];
[encoder encodeObject:self.genre forKey:@"gameGenre"];
[encoder encodeObject:self.rating forKey:@"gameRating"];
}
试图弄清楚下一步是将这些对象(已经在 NSMutableArray 中)保存到 .plist 中,并在重新打开应用程序时调用。
任何帮助表示赞赏!