我有一個源列表的委託類。但我不知道outlineView:objectValueForTableColumn:byItem:的返回變量應該是什麼類型。NSOutlineView源列表的數據
目前我的代碼看起來是這樣的,所有的結構工作的事情,但沒有顯示文本:
@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
我已經打了一個比方應用顯示差異。 Image is here
如果你在'return'行設置了一個斷點,它是否曾經在調試器中打過? –
不,它從來沒有達到這一點。 – thomasguenzel
在我看來,您需要編輯您的問題以顯示更多代碼,因爲如果該斷點甚至沒有觸及,那麼您可能沒有正確實施數據源的其他必需方法。至於你原來的問題,你應該能夠返回一個NSString類型,它應該顯示得很好(一旦你實際上擊中該斷點)。 –