Как получить доступ к источнику данных в моем NSTableView, чтобы разрешить редактирование строки в таблице? - PullRequest
0 голосов
/ 03 августа 2010

Я пытаюсь получить доступ к массиву (источнику данных) в моем NSTableView, чтобы разрешить замену строки в строке новой строкой. Приложение состоит из поля NSText для ввода данных и кнопки для добавления записи, так чточто он отображается в 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 Ответ

2 голосов
/ 03 августа 2010

Я думаю, что вы ищете эти источники данных и методы делегата:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...