Использование объекта подкласса NSManagedObject как в хранилище в памяти, так и в хранилище SQLite

Я хотел бы использовать один подкласс NSManagedObject для представления элемента. Однако большую часть времени элементы, которые я буду представлять, мимолетны и не должны сохраняться в постоянном хранилище. Кажется, что хранилище в памяти было бы правильной настройкой.

Однако несколько раз пользователь может выбрать «сохранить» элемент, и поэтому я хотел бы, чтобы этот элемент сохранялся в хранилище SQLite.

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


person user366126    schedule 28.06.2010    source источник


Ответы (1)


Вы можете иметь несколько постоянных хранилищ для одного координатора постоянных хранилищ. Используйте -[NSManagedObjectContext assignObject: toPersistentStore:], чтобы выбрать, с каким магазином связан объект. Таким образом, ваши временные объекты будут назначены хранилищу в памяти.

person Community    schedule 28.06.2010
comment
+1 Спасибо, Грэм, похоже, это было бы здорово для управления хранилищем только для чтения и хранилищем, сохраняемым пользователем, с отношениями. - person pokstad; 22.03.2011