NSURL オブジェクトのリストを入力したい NSOutlineView があります。私はこれをNSTableViewで動作させています。NSOutlineView に移行するための最初のステップとして (ユーザーが望むさまざまな基準で NSURL オブジェクトをグループ化できるようにするため)、テーブル ビューを模倣する方法で NSOutlineViewDataSource プロトコルの最小限のメソッドを実装しました。
- (NSInteger)outlineView:(NSOutlineView *)outlineView numberOfChildrenOfItem:(id)item {
if(!item) return [[self.resultsArrayController arrangedObjects] count];
return 0;
}
- (id)outlineView:(NSOutlineView *)outlineView child:(NSInteger)index ofItem:(id)item {
if(!item){
return [[self.resultsArrayController arrangedObjects] objectAtIndex:index];
}
}
- (id)outlineView:(NSOutlineView *)outlineView objectValueForTableColumn:(NSTableColumn *)tableColumn byItem:(id)item {
return [item valueForKey:[tableColumn identifier]];
}
- (BOOL)outlineView:(NSOutlineView *)outlineView isItemExpandable:(id)item {
return NO;
}
[NSURL indexPath]
これにより、呼び出されていることを示す認識されないセレクター例外がスローされ続けます。このメソッドが呼び出される理由や回避方法を知っている人はいますか?