我目前有许多数组,每个数组都包含显示标题,描述和持续时间。我有他们进一步'显示'阵列,我用这个数组来填充我的NSTableView
。我想要做的是从我的每个数组中抽取出显示标题的第一列,第二列的描述等等。使用数组数组来填充NSTableView
我现在的代码虽然接受了我的数组数组中的第一个数组,填充了第一列,第二列的第二个数组等等。我将如何修改我到目前为止获得的表来填充是否正确?我试图用indexOfObject
代替objectAtIndex
,但是这样做会引发异常。这是我(简化)代码:
AppDelegate.m
- (void)applicationDidFinishLoading:(NSNotification *)aNotification
{
NSArray *show1 = [[NSArray alloc] initWithObjects:@"Title", @"A description", nil];
NSArray *show2...
NSArray *show3...
NSArray *show4...
self.array = [[NSMutableArray alloc] initWithObjects: show1, show2, show3, show4, nil];
[self.tableView reloadData];
}
- (NSInteger)numberOfRowsInTableView:(NSTableView *)tableView
{
return [self.array count];
}
- (NSView *)tableView:(NSTableView *)tableView viewForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row
{
NSString *identifier = [tableColumn identifier];
if([identifier isEqualToString:@"title"]) {
NSTableCellView *title = [tableView makeViewWithIdentifier:@"title" owner:self];
title.textField.stringValue = [self.array objectAtIndex:0];
return title;
} else if {...}
return nil;
}
[self.array objectAtIndex:0]将返回show1,它是一个数组,而不是一个字符串。相反,我认为对于标题,您需要访问该行的数组的第一个对象:[[self.array objectAtIndex:row] objectAtIndex:0] –