2010-09-07 4 views
1

У меня есть NSTableView с двумя столбцами. Всякий раз, когда я добавляю данные в таблицу, оба столбца отображают одни и те же данные. Как обновить конкретный столбец?Как обновить только определенные столбцы в NSTableView

Я делаю Mac Dev btw.

Это код, я использую:

- (id)tableView:(NSTableView *)streamView objectValueForTableColumn:(NSTableColumn  *)messageCol row:(int)row 
{ 
return [[stream respond] objectAtIndex:row]; 
} 

Спасибо.

+0

, пожалуйста, разместите код, чтобы мы могли видеть, что вы делаете. –

ответ

1

Проверьте, в какой колонке вас попросят заполнить вашу версию tableView:objectValueForTableColumn:row:. Вот почему он передает вам колонку! Быстрый пример, поскольку вы, кажется, игнорируете «проверьте, какой столбец вы хотите заполнить»:

- (id)tableView:(NSTableView *)tableView 
     objectValueForTableColumn:(NSTableColumn *)column 
          row:(int)row 
{ 
    if ([[column identifier] isEqualToString:@"A"]) 
     return [columnArrayA objectAtIndex:row]; 

    if ([[column identifier] isEqualToString:@"B"]) 
     return [columnArrayB objectAtIndex:row]; 

    return nil; 
} 
+0

Но какое значение должно objectValueForTableColumn: have? Я пытался все там положить, но ничего не работает! – 2010-09-07 17:56:58

+0

@ James, самый простой способ - установить идентификатор столбца таблицы в Interface Builder, а затем проверить эту строку в вашей реализации. –

+0

, который не работает, хотя :(оба столбца все еще отображают одни и те же данные. – 2010-09-07 18:16:05

Смежные вопросы