Вам необходимо опубликовать соответствующую часть отчетов о сбоях / выводах отладчика; в противном случае трудно угадать, что именно пошло не так! Вы знаете, мы не экстрасенсы. Отчет о сбое содержит ценную информацию о причине сбоя.
Тем не менее, здесь доступна ячейка с цветными ячейками с открытым исходным кодом здесь . Это только для приложений с поддержкой GC, но оно должно быть хорошим началом, если лицензия этого кода подходит для вашего использования. Не изобретай велосипед заново.
позвольте мне добавить несколько слов. NSCell
в NSTableView
используется в качестве штампа для рисования записей для каждой строки и обычно используется повторно, и это не значит, что NSCell
для каждой строки генерируется. Это не имеет большого смысла с текущей точки зрения при наличии достаточного объема памяти в системе, но это имело смысл 15 лет назад, когда был разработан NeXTStep.
В любом случае, по этой причине для ячейки обычно не рекомендуется устанавливать себя в качестве цели для другого объекта, потому что эта ячейка не сохраняется. Я предполагаю, что именно это и стало причиной этого сбоя, то есть NSTableColumn
уже освободил ячейку, потому что она закончила использовать эту ячейку. Обычно безопаснее иметь класс контроллера в качестве цели панели, а не саму ячейку.