想象一下CoreData实体(例如命名searchEngine).
NSManagedObjectContext管理该实体的一些"实例".
最终用户将能够选择他"standard searchEngine"的NSPopupButton.
该selected objectNSPopupButton应绑定到的NSUserDefaults的.
问题:
1)@try {}保存
a)如果您尝试将选定的"实例"直接保存到NSUserDefaults,则会出现以下情况:-[NSUserDefaults setObject:forKey:]: Attempt to insert non-property value ' (entity: searchEngine; id: 0x156f60 ; data: { url = "http://google.de/"; someAttribute = 1; name = "google"; })' of class 'searchEngine'.
b)如果您尝试将"实例"转换为NSData,请执行以下操作:-[searchEngine encodeWithCoder:]: unrecognized selector sent to instance 0x1a25b0那么任何想法如何在plist兼容的数据中获得这些实体?
2)@try {} registerDefaults通常该
registerDefaults:方法是在+ (void)initialize.这里的问题是在CoreData从其数据库加载保存的实体之前调用此方法.所以我不能将默认设置为不存在的对象,对吧?
我知道,很长的问题......但是:试试{[我提供:详情]}; D.