そのため、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 に保存し、アプリを再度開くときに呼び出すための次のステップを理解しようとしています。
どんな助けでも大歓迎です!