CoreData エンティティ (名前付きsearchEngine
など) を想像してください。
NSManagedObjectContext
このエンティティのいくつかの「インスタンス」を管理します。
エンドユーザーは"standard searchEngine"
、NSPopupButton
. NSPopupButton
のは、NSUserDefaults にバインドする必要があります。
問題: selected object
1)
@try{保存}
a)
選択した「インスタンス」を直接 NSUserDefaults に保存しようとすると、次のようになります。-[NSUserDefaults setObject:forKey:]: 非プロパティ値を挿入しようとしています ' (エンティティ: searchEngine; id: 0x156f60 ; データ: { url = " http://google.de/ "; someAttribute = 1; 名前 = "グーグル"; })」クラス「searchEngine」の。
b)
「インスタンス」を NSData に変換しようとすると、次のようになります。-[searchEngine encodeWithCoder:]: 認識されないセレクターがインスタンス 0x1a25b0 に送信されましたplist互換データでこのエンティティを取得する方法はありますか?
2)
@try{registerDefaults}通常、
registerDefaults:
メソッドは で実装され+ (void)initialize
ます。ここでの問題は、CoreData がデータベースから保存されたエンティティをロードする前に、このメソッドが呼び出されることです。存在しないオブジェクトにデフォルトを設定することはできませんよね?
長い質問ですが、{[me provide:details]} ;D を試してください