2012-06-14 2 views
0

Есть ли лучший способ сделать объект неизменным? Пользователи создают упражнения в моем приложении, а некоторые хотели бы «заблокировать» файл, когда он будет завершен. Кажется смешным добавить свойство «заблокировано» и проверить, что всякий раз, когда свойство задано, но является ли это «способом» для этого?Как сделать объект Data Data неизменным?

ответ

2

Фактически, добавление заблокированного/неизменяемого имущества является вполне адекватным решением. Недавно я использовал такую ​​схему, используя заблокированное свойство NSDate. Поэтому я знаю, когда объект был заблокирован.

Насколько я знаю, в Core Data нет такой вещи.

Кстати, схема блокировки в Core Data сама по себе была бы довольно сложной, так как отношения были связаны. Что делать, если сущность частично связана с заблокированной сущностью? Удалить запрещено? Или отношения изменяются, даже если объект не является? Думаю, нет универсального ответа.

+0

Я полагаю, что это кажется немного для меня, потому что вы тогда отказываетесь от всех @dynamic аксессуаров. – griotspeak

+0

После добавления заблокированного свойства вы также можете обрабатывать неизменность, используя привязку ** Enabled ** соответствующих элементов пользовательского интерфейса. – paulmelnikow

Смежные вопросы