NSOutlineViewをセルベースからビューベースに変更した後、ファイルシステムツリーのアイコンとタイトルは表示されません。ここに私のコード:
- (void)outlineView:(NSOutlineView *)outlineView willDisplayCell:(id)cell forTableColumn:(NSTableColumn *)tableColumn item:(id)item {
if ([[tableColumn identifier] isEqualToString:@"name"])
return [(ImageAndTextCell *)cell setTextFieldImage:[item icon]];
}
- (id)outlineView:(NSOutlineView *)outlineView objectValueForTableColumn:(NSTableColumn *)tableColumn byItem:(id)item {
return [((ConstructorFSEntity *)item) title];
}
- (NSView *)outlineView:(NSOutlineView *)outlineView viewForTableColumn:(NSTableColumn *)tableColumn item:(id)item {
if ([item isKindOfClass:[FSEntity class]]) {
return [outlineView makeViewWithIdentifier:@"HeaderCell" owner:self];
} else {
return [outlineView makeViewWithIdentifier:@"DataCell" owner:self];
}
}
そしてもう1つ質問があります。列挙されたアイテム(ファイルシステムのアイテムの配列)をセル「DataCell」に配置し、「HeaderCell」を親フォルダー(グループ)として宣言し、タイトル(たとえば、@「ルートフォルダー」)とパスを割り当てる方法クラス。以前のビューベースの方法では、列挙されたアイテムが「HeaderCell」または「DataCell」にのみ表示され、「HeaderCell」に値を割り当てようとすると、アプリがクラッシュするためです。これを手伝ってくれませんか。