我正在尝试通过 Apple 文档中的示例代码设置一个非常基本的 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