1

我正在尝试使用 NSTableView (这是我第一次尝试),但它什么也没显示。
我创建了一个项目(ARC),我的 xib 中有一个表格视图,我将“数据源”和“委托”拖到我的 AppDelegate 对象中。
我在 AppDelegate.h 上有以下代码:

#import <Cocoa/Cocoa.h>

@interface AppDelegate : NSObject <NSApplicationDelegate, NSTableViewDelegate, NSTableViewDataSource>{
    NSMutableArray* array;
}

@property (assign) IBOutlet NSWindow *window;
@property (assign) IBOutlet NSTableView *tableView;

@end

和 .m :

#import "AppDelegate.h"

@implementation AppDelegate

@synthesize window = _window;
@synthesize tableView = _tableView;

- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
{
    [array addObject:@"1"];
    [array addObject:@"2"];
    [array addObject:@"3"];
    [array addObject:@"4"];
    [_tableView reloadData];
}

- (id)tableView:(NSTableView *) aTableView objectValueForTableColumn:(NSTableColumn *) aTableColumn row:(NSInteger) rowIndex{  
    return [array objectAtIndex:rowIndex];  
}

- (NSInteger)numberOfRowsInTableView:(NSTableView *)aTableView{
    return [array count];  
}

@end


可能是什么错误?谢谢

4

1 回答 1

4

假设您发布的代码是完整的,问题似乎是您从未初始化array实例变量。将以下行添加到顶部-applicationDidFinishLaunching:

array = [NSMutableArray array];
于 2012-05-22T17:19:20.443 回答