【发布时间】:2012-08-03 02:23:22
【问题描述】:
我想在 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。
【问题讨论】:
-
您在保存时对其进行了编码,并在获取后对其进行了解码。[查看此链接][1] [1]:stackoverflow.com/a/2315972/992774
标签: iphone nsuserdefaults