0

私はココア開発にまったく慣れていないので、これを聞いて私を非難しないでください.

バインディングを使用する必要がありますか? 多くのコードを節約できることはわかっていますが、学習しているので、コードですべてを設定することを本当に好みます。

私の目標は、コア データからフェッチしたエンティティをテーブル ビューに入力することです。メイン ウィンドウ ビュー用のカスタム コントローラー クラスを作成しました。カテゴリのエンティティを取得するコードもいくつかあります

NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription
                               entityForName:@"Category"
                               inManagedObjectContext:[self managedObjectContext]];
[fetchRequest setEntity:entity];

NSError *error = nil;
NSArray *fetchedObjectsArray = [[self managedObjectContext] executeFetchRequest:fetchRequest error:&error];
if (fetchedObjectsArray == nil) {
    NSLog(@"Error occured fetching categories: %@", error);
}


for (Category *cat in fetchedObjectsArray) {
    NSLog(@"categories %@", cat.name);
}

テーブル ビューのデリゲートを実装する必要があることはわかっていますが、テーブル ビューが 1. テーブル ビューにアクセスし、2. フェッチ リクエストから返されたデータを使用するように、フェッチ コードを配置する場所がわかりません。

4

1 に答える 1

1
  1. フェッチが役立つプログラムの場所にフェッチ コードを配置します。

  2. 便利な方法でデータを保存します。おそらく、コントローラーのプロパティ型の配列です。

  3. データをフェッチした後、 reloadData (その他) メッセージをテーブル ビューに送信して、表示する新しいデータがあることをテーブル ビューに伝えます。

  4. テーブル ビューのデータ ソース。おそらく、コントローラーは、データ ソース プロトコル内で定義されたメッセージを受信して​​、日付をビューに転送します。これもあなたが書いたコードなので、データを取得する方法は完全にあなたのコントローラーの下にあります。(手順 2 を参照)。

于 2013-06-23T14:52:36.337 に答える