Appleのドキュメントのサンプルコードを使用して、1つの列を持つ非常に基本的なNSTableViewを設定しようとしています。現在、Cocoaバインディングはまだダークアートに少し似ているため、プログラムで設定していますが、ビルドして実行すると、アプリにデータが表示されません。私のコードに何か足りないものはありますか?(私はまた、Interface Builderを介してデータソースとデリゲートを接続したので、それもできません。)
インターフェースファイル
#import <Cocoa/Cocoa.h>
@interface RLTAppDelegate : NSObject <NSApplicationDelegate, NSTableViewDataSource, NSTableViewDelegate>
@property (assign) IBOutlet NSWindow *window;
@property (weak) IBOutlet NSScrollView *tableView;
@property (copy) NSArray *nameArray;
@end
実装ファイル
#import "RLTAppDelegate.h"
@implementation RLTAppDelegate
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification {
_nameArray = [[NSArray alloc] initWithObjects:@"Ryan", @"Steven", @"Scott", nil];
}
- (NSInteger)numberOfRowsInTableView:(NSTableView *)tableView {
return _nameArray.count;
}
- (NSView *)tableView:(NSTableView *)tableView viewForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row {
NSTextField *result = [tableView makeViewWithIdentifier:@"withoutIcon" owner:self];
result.stringValue = [self.nameArray objectAtIndex:row];
return result;
}
@end