я мог задавать очень простой вопрос, но я не могу получить, как избавиться от этого, требование является,NSTableView дисплей изображения в одной ячейке
- Таблица должна отображать изображение и текст следующего к тому, что. Для этого я добавил в таблицу два столбца
- NSTableView должен быть прозрачным. Для этого я создал класс CustomNSTableView, внутри переопределяет метод drawRect, чтобы не рисовать фон, и не указывал ячейке drawBackground.
- Теперь следующее препятствие, как отобразить изображение, я должен переопределить/обрабатывается следующий метод
.
- (NSCell *)tableView:(NSTableView *)tableView dataCellForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row{
NSImage *pCellImage = // Get a valid Image ;
if(tableColumn == nil) return nil;
NSString *colName = [tableColumn identifier];
if([colName isEqualToString:@"firstColumn"]){
NSCell *pCell = [[NSCell alloc]initImageCell:pCellImage];
return pCell;
}else{
NSCell *pCell = [[NSCell alloc]initTextCell:@"Some text"];
return pCell;
}
}
я добавил TableColumn == всухую состояние, как и в документации ее дали, первый раз для каждой строки, это будет вызываться с TableColumn ноль, когда я необходимо установить один столбец для всей строки, но если я вернуть его сбои с комментарием BAD_ACCESS,
Теперь мой вопрос, как справиться с нулевым условием, Кроме того, в этой функции после установки NSCell как для колонны он переходит к другой функции делегата
- (id) tableView:(NSTableView *)aTableView objectValueForTableColumn:(NSTableColumn *)aTableColumn row:(NSInteger)rowIndex
Я считаю, после того, как установка DataSet правильно я не нужно использовать эту функцию,
С следующей реализации его грохот, но я не могу понять его, что это неправильно,
я выставлению правильного DataSource и делегат,
очень странно, если я комментирую setRowHeight, то его не ударяют EXE_BAD_ACCESS :( – Amitg2k12