У меня есть приложение для Mac OS, которое использует данные ядра для сохранения своих объектов на диске, поддерживаемых sqlite.Сохранять содержимое и порядок контроллера массива в какао
У меня есть tableView, где можно проверить все подклассы NSManagedObject. Это связано с arrayController, который привязан к объекту в управляемом объектеContext.
Используя объекты этого массива Controller, я загружаю еще один массивController, который поддерживает другой tableView, который используется для организации объектов, готовых для экспорта в файл tsv. Этот tableView позволяет перетаскивать и отбрасывать, чтобы переупорядочивать и удалять записи, но ни одно из них не влияет на managedObjectContext.
Каков наилучший способ сохранить содержимое этого второго массива Controller на диске, чтобы при открытии документа tableView имел те же объекты в том же порядке, что и раньше?
Все, что мне удалось додумать до сих пор, - добавить атрибут к управляемым объектам под названием secondaryArrayOrder, который установлен на закрытие документа, или установить на нуль, если объект удален из вторичного контрольного элемента arrayController. Пока это будет работать, кажется, что это неправильный подход.
EDIT - добавлен тег MacRuby, поскольку я теперь ответил на свой вопрос, используя этот язык.
Проверить ответ на diablosnuevos в HTTP : //stackoverflow.com/questions/1077568/how-to-implement-re-ordering-of-coredata-records. Это выглядит просто. Вы также можете попробовать другие ответы. Перед отправкой вопроса вы можете найти связанные вопросы. – Rakesh
Спасибо, Ракеш. Тем не менее, я конкретно говорю в последнем параграфе моего вопроса, что я не хочу добавлять поле заказа к моим объектам. Почему они должны заботиться о том, в каком порядке они находятся? – ryecroft
Но даже в вашем ответе вы делаете более или менее одно и то же. Вместо добавления к управляемому объекту вы создаете plist с objectId. – Rakesh