Итак, я понял, что мне нужно использовать NSCoding для сохранения моих пользовательских объектов в plist.
Часть, с которой я борюсь, - это именно то, как я это делаю после того, как реализовал методы initWithCoder
и encodeWithCoder
. Они возвращают 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 и вызывать их при повторном открытии приложения.
Любая помощь приветствуется!