Итак, я признаюсь, что являюсь абсолютным новичком для какао, поэтому предлагаю вопрос нуба.Я, вероятно, просто где-то упускаю тупое очевидное, но я просто не могу заставить свою таблицу заполнять данные.
Я следую примеру табличного представления , но каждый раз, когда я пытаюсь имитировать Базовое окно TableView, первая строка становится высотой количества строк, которые я добавил (по крайней мере, так оно и есть).Вот мой код:
- (id)tableView:(NSTableView *)tableView objectValueForTableColumn:(NSTableColumn *)tableColumn row:(int)row
{
NSString *identifier = [tableColumn identifier];
if ([identifier isEqualToString:@"filename"]) {
// We pass us as the owner so we can setup target/actions into this main controller object
NSTableCellView *cellView = [fileBrowserTable makeViewWithIdentifier:identifier owner:self];
// Then setup properties on the cellView based on the column
cellView.textField.stringValue = [fileList filenameAtIndex:row];
cellView.imageView.objectValue = [[NSWorkspace sharedWorkspace] iconForFile:[fileList fullPathAtIndex:row]];
return cellView;
}
else if ([identifier isEqualToString:@"path"]) {
NSTextField *textField = [fileBrowserTable makeViewWithIdentifier:identifier owner:self];
textField.objectValue = [fileList pathAtIndex:row];
return textField;
}
else if ([identifier isEqualToString:@"preview"]) {
NSTextField *textField = [fileBrowserTable makeViewWithIdentifier:identifier owner:self];
textField.objectValue = [fileList previewAtIndex:row];
return textField;
}
return nil;
}
Я думаю, стоит упомянуть, что при использовании ячейки текстового поля старой школы у меня нет проблем с отображением данных (конечно, приведенный выше код отличается в этом случае) так что я уверен, что это не проблема с моей структурой данных, которая содержит значения. Я также установил правильный делегат и источник данных
Ячейка, использующая идентификатор «filename», использует «представление таблицы изображений и текста»ячейка ", в то время как другие используют только" представление ячейки текстовой таблицы ". Ни одна из них не работает, поэтому я предполагаю, что что-то не так с тем, как я настраивал свою таблицу. Но при сравнении моей таблицы с таблицей примера это просто плевокотражение (минус идентификаторы имен файлов).
Одна вещь, которую я заметил, что я не могу понять, это то, что экзаменЛе говорит:
NSTableView имеет две ассоциации идентификаторов повторного использования: «MainCell» и «SizeCell» связаны с пером ATBasicTableViewCells.xib
Я не оченьпонять это утверждение.Однако, как говорится, пример не содержит никакого ATBasicTableViewCells.xib и не имеет никаких ассоциаций с ним (код или ib), которые я могу найти.