私はソースリストのためにDelegateクラスを持っています。しかし、私はoutlineViewの戻り値の型を知りません:objectValueForTableColumn:byItem:する必要があります。私のコードは次のようになり、現時点では NSOutlineViewのソースリストのデータ
、すべての構造のものが動作しますが示すテキストがない:@interface DataSource : NSObject<NSOutlineViewDelegate,NSOutlineViewDataSource>
@end
そして、私は例のアプリになりました
@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
.Mは、違いを見せてください。 Image is here
'return'行にブレークポイントを設定した場合、デバッガでヒットしますか? –
いいえ、これは決してこの時点には至りません。 – thomasguenzel
ブレークポイントがヒットしない場合でも、データソースの他の必要なメソッドを適切に実装していない可能性があるので、コードを編集する必要があるようです。あなたの元の質問については、NSString型を返すことができるはずですし、実際にそのブレークポイントにヒットしたらうまく表示されるはずです。 –