My Data Type を一時的に NSUserDefault に保存したい。このデータは後で引き戻します。
次のコードを試しました。
MyObject *myObject = [[MyObject alloc] init];
[[NSUserDefaults standardUserDefaults] setObject:myObject forKey:@"kMyObject"];
しかし、コンソールに次のメッセージが表示されます。
-[NSUserDefaults setObject:forKey:]: Attempt to insert non-property value '<MyObject: 0x4aadb0>' of class 'MyObject'. Note that dictionaries and arrays in property lists must also contain only property values.
これらのメッセージを無視して、NSUserDefault から強制的に引き抜くことができます。
MyObject *getObject = [[NSUserDefaults standardUserDefaults] objectForKey:@"kMyObject"];
ただし、元のデータは返さないでください。(私は NSLog をチェックしました。Null を返します。)
この問題を解決するには?私は NSUserDefaults に保存することだけを好みます。CoreData を使用することはお勧めしません。