1

Core Data を使用して保存されたオブジェクトのリストを取得しようとしています。プロジェクトの作成時に Xcode によって行われたデフォルトの設定は変更されていません。実際のデータ ストアには項目があり、エンティティTransactionは保存時に正常に動作しますが、次のコードを実行すると:

    NSManagedObjectContext * context = [[NSApp delegate] managedObjectModel];
    NSFetchRequest * fetchRequest = [[NSFetchRequest alloc] init];
    NSEntityDescription * entity = [NSEntityDescription 
                                    entityForName:@"Transaction" 
                                    inManagedObjectContext:context];
    [fetchRequest setEntity:entity];
    NSError * error = nil;
    NSArray * transactionList = [context executeFetchRequest:fetchRequest error:&error];
    if (&error != nil) {
        [Utility showMessage:error.description asError:YES];
    } else {
        [Utility showMessage:[NSString stringWithFormat: @"Items: %@", transactionList.count] asError:NO];
    }    

オブジェクトを作成しようとすると、次のエラーが表示されentityます。

[NSManagedObjectModel persistentStoreCoordinator]: 認識できないセレクタがインスタンスに送信されました

何が欠けているか、またはエラーの原因を確認するにはどうすればよいですか?

Footnotes
-単純にボックスUtilityを生成する静的クラスです。 -このチュートリアルを使用して、コードがどのように機能するかを理解しようとしていますNSAlert

4

2 に答える 2

2

最初の行では、アプリデリゲートからをフェッチしてmanagedObjectModel、に割り当てていNSManagedObjectContextます。managedObjectContext代わりにフェッチする必要があります。

于 2011-10-21T18:30:42.960 に答える
2

あなたのコードからは、管理対象オブジェクト コンテキストに正確に何を割り当てているのか明確ではありません。これは、管理オブジェクト モデルではなく、管理オブジェクト コンテキストである必要があります。

また、そうでないかどうかを確認する必要が(error!=nil)あり&errorます。C ポインター構文 (;-) を読んでください。

于 2011-10-21T18:31:02.433 に答える