Является NSValueTransform подклассы хороший выбор для отображения атрибутов основных данных в представления пользовательского интерфейса отображения:какао Наручники - NSTableView - подкачка Значения
- Число строк, как (0,1,2,3 и т.д.) в строка, такие как (в ожидании, завершенного, замороженные, в стадии разработки, и т.д.)
- ряд строки, как (0,1) в приложение на основе изображения (red.png если 0, green.png если 1)
Вот что отображает основные данные для двух атрибутов, таймера и состояния:
Вот что я хочу, чтобы отображаться вместо этого, не изменяя значения в Core Data:
Если не использовать NSValueTransformer, в какой другой способ это возможно?
Я не хочу, чтобы данные постоянно конвертировались, только в целях уменьшения объема данных, хранящихся в базовых данных и улучшенных элементов представления пользовательского интерфейса.
Я также попытался изменить атрибуты в классе управляемых объектов (без уведомления KVO) без везения.
Я так не думаю, что для 1 или 2. Преобразователи ценности отлично подходят для наложения объектов в основные данные, и они хороши для преобразования строк в строки и числа и все такое. Но № 1, который вы связываете с атрибутом состояния в своей сущности, и нет причин, чтобы модель не была явной, и иметь представление, преобразующее ее в нечто читаемое, а не в основном похороны в аксессуарах, что и есть здесь происходит преобразование значений. Когда я их использую, я никогда не нахожу их сразу, зарытыми где-то вдали от того места, где они имеют значение. – stevesliva
Кроме того, с точки зрения эффективного хранения для перечисленных типов есть [этот ответ о перечислениях в Core Data] (http://stackoverflow.com/a/13224056/3120884) – stevesliva
На самом деле, это неплохо ... Я просто добавил NSValueTransform к NSTableView, где я ранее просто отображал значение enum int ... и он отлично работал! – geowar