Смотрите мой другой ответ.
аюсь настроитьNSTableView с пользовательской ячейкой, используяArrayController а такжеНаручники, Для этого я добавил подпредставление в пользовательскую ячейку. Подключение к данным, кажется, работает несколько. Хотя, кажется, есть проблема перерисовки, которую я не могу исправить. При загрузке приложения отображаются только некоторые ячейки. Когда я прокручиваю строки или выбираю одну, рендеринг меняется.
Я создалпример проекта на github чтобы проиллюстрировать, в чем проблема.
Фактический исходный код для рендеринга ячейки можно найтиВот:
// CustomCell.m
- (void)drawInteriorWithFrame:(NSRect)cellFrame inView:(NSView*)controlView {
if (![m_view superview]) {
[controlView addSubview:m_view];
}
// The array controller only gets wrapped data items pack by the NSObjectTransformer.
// Therefore, objectValue returns a NSObjectWrapper.
// Unpack the wrapper to retreive the data item.
DataItem* dataItem = [(NSObjectWrapper*)[self objectValue] original];
[[m_view name] setStringValue:dataItem.name];
[[m_view occupation] setStringValue:dataItem.occupation];
[m_view setFrame:cellFrame];
}
Кажется, как будто родительcontrolView
не перерисовывается. Могу ли я заставить это как-то?