如何在NSTableView中访问数据源以允许编辑表中的行?

时间:2010-08-03 00:35:26

标签: objective-c

我正在尝试访问我的NSTableView中的数组(数据源)以允许用新字符串替换行中的字符串。该应用程序包含用于数据输入的NSTextfield和用于添加条目的按钮它显示在NSTableView中。我想要的是能够双击NSTableView并用新字符串替换那里的字符串,但我不知道如何做到这一点。到目前为止,这是我的代码

@implementation AppController

-(id)init
{
    [super init];
    [tableView setDataSource:self];
    [tableView setDelegate:self];
    array = [[NSMutableArray alloc ] init];
    //NSLog(@"this is my delegate %@",[tableView delegate]);
    return self;
}

-(IBAction)addItem:(id)sender

{
    inputString = [textField stringValue];
    [array addObject:inputString];
    [tableView reloadData];
    return;
}

- (int)numberOfRowsInTableView:(NSTableView *)aTableView
{

    return [array count];
}

- (id) tableView:(NSTableView *)aTableView
objectValueForTableColumn:(NSTableColumn *)aTableColumn
             row:(int)rowIndex
{
    //NSLog(@"this is the object %@",[array objectAtIndex:rowIndex]);
    return [array objectAtIndex:rowIndex];
}

-(IBAction) replaceItem:(id)sender
{
    NSString *newString = [[NSString alloc]init];
    NSLog(@"The selected row %d",[tableView selectedRow]);
    newString = [textField stringValue];
    [array addObject:newString];
    [array replaceObjectAtIndex:[tableView selectedRow ]  withObject: newString];
    NSLog(@"this is the new sting %@",newString);
    [tableView reloadData];

}


@end

1 个答案:

答案 0 :(得分:2)

我认为您正在寻找这些数据源和委托方法: