相关疑难解决方法(0)

在NSUserDefaults中保存CoreData实体

想象一下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.

cocoa core-data save nsuserdefaults

18
推荐指数
3
解决办法
8667
查看次数

标签 统计

cocoa ×1

core-data ×1

nsuserdefaults ×1

save ×1