Когда я пытаюсь построить представление для каждой строки для моего основанного на просмотре NSTableView
, метод makeViewWithIdentifier:owner:
всегда возвращает nil. Таблица построена в IB, и все, кажется, связаны правильно, все методы делегатов называются так, как я ожидал. При просмотре документации Apple о методе makeViewWithIdentifier
я не могу найти причину, по которой метод вернет нуль. Отрывок из кода:MakeViewWithIdentifier: owner: возвращает nil
- (NSView *)tableView:(NSTableView *)tableView viewForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row {
if ([tableColumn.identifier isEqualToString:@"foo"]) {
NSTableCellView *view = [tableView makeViewWithIdentifier:@"id" owner:self]; // Is always nil..
view.textField.stringValue = [myArray objectAtIndex: row];
return view;
}
return nil;
}
Почему бы view
быть нулевым?
Я подозреваю @ "идентификатор" не соответствует взгляды ID. – shallowThought
В чем причина не использовать тот же идентификатор, что и идентификатор столбца? – vadian
@vadian Вы только что спасли меня, но я действительно не понимаю, почему. Изменение идентификатора вида arg соответствует тому, что исправлен столбец. Я думал, что идентификатор вида использовался только для просмотра определенного вида или чего-то еще. Ну, по крайней мере, узнал что-то новое! –