1

私はココアバインディング、NSArrayController、コアデータを使用しています。起動直後に、アプリケーションは最初のアイテムを取得する必要があります。これをapplicationDidFinishLaunchingで試します。

1. Entity *ent = arrayManager.arrangedObjects[0];

2. Entity *ent = arrayManager.selectedObjects[0];

--->配列が空であることを示すエラー。なぜ ?

私が理解していない他のことは、アプリケーションが表示されたときに、tableViewに選択された行があるということですが、これをログに記録すると:

NSLog(@"selected row in applicationDidFinishLaunching = %li",self.TableViewController.tableView.selectedRow);

log: -1->行が選択されていません!なぜ ?

4

1 に答える 1

5

applicationDidFinishLaunching:そこにエンティティを表示するには、ArrayController でフェッチを行う必要があります。ArrayController から何かにアクセスする前に、これを試してください。

 - (void)applicationDidFinishLaunching:(NSNotification *)aNotification {
     NSError *error;
     [arrayManager fetchWithRequest:nil merge:NO error:&error];
     Entity *ent = arrayManager.arrangedObjects[0];
 }
于 2013-03-12T13:27:48.910 に答える