У меня есть класс делегата для списка источников. Но я не знаю, какого типа должна быть возвращаемая переменная outlineView: objectValueForTableColumn: byItem:.
На данный момент мой код выглядит следующим образом, все структурные вещи работают, но текст не отображается:
@interface DataSource : NSObject<NSOutlineViewDelegate,NSOutlineViewDataSource>
@end
и .m
@implementation DataSource
// Data Source methods
- (NSInteger)outlineView:(NSOutlineView *)outlineView numberOfChildrenOfItem:(id)item {
return (item == nil) ? 1 : [item numberOfChildren];
}
- (BOOL)outlineView:(NSOutlineView *)outlineView isItemExpandable:(id)item {
return (item == nil) ? YES : ([item numberOfChildren] != -1);
}
- (id)outlineView:(NSOutlineView *)outlineView child:(NSInteger)index ofItem:(id)item {
return (item == nil) ? [FileSystemItem rootItem] : [(FileSystemItem *)item childAtIndex:index];
}
//-(id)outlineView:(NSOutlineView *)outlineView child:(NSInteger)index ofItem:(id)item
-(id)outlineView:(NSOutlineView *)outlineView objectValueForTableColumn:(NSTableColumn *)tableColumn byItem:(id)item {
return @"Some String";
}
@end
Я сделал пример приложения, чтобы показать разницу. Изображение здесь