我正在尝试访问我的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
答案 0 :(得分:2)
我认为您正在寻找这些数据源和委托方法: