與由委託和數據源的連接,我有以下控制器:NSTableView的崩潰
#import <Foundation/Foundation.h>
@interface KextTable : NSObject <NSTableViewDataSource> {
@private
NSArray *klist;
}
- (int)numberOfRowsInTableView:(NSTableView *)tableView;
- (id)tableView:(NSTableView *)tableView
objectValueForTableColumn:(NSTableColumn *)tableColumn
row:(int)row;
@end
和
#import "KextTable.h"
@implementation KextTable
- (id)init
{
self = [super init];
if (self) {
}
return self;
}
-(void) awakeFromNib
{
klist = [[NSArray alloc] init];
klist = [NSArray arrayWithObjects: @"1", @"2",
@"3", @"4", nil]; // debugging values only
}
- (void)dealloc
{
[super dealloc];
}
- (int)numberOfRowsInTableView:(NSTableView *)tableView
{
return [klist count];
}
- (id)tableView:(NSTableView *)tableView
objectValueForTableColumn:(NSTableColumn *)tableColumn
row:(int)row
{
return [klist objectAtIndex:row];
}
@end
而這種代碼在我的主界面控制與EXC_BAD_ACCESS
崩潰,其中的觀點是切換到包含表格視圖的選項卡。哪裏不對?
(我知道的連接是正確的,如果我在objectValueForTableColumn
創建數組它的工作原理)
你的數據源方法應該返回'NSInteger',而不是'int'。 –