2011-01-29 5 views
0

У меня есть граф объектов, который моделирует древовидную структуру. Я хочу получить (без ошибок) единую полную структуру дерева и, чтобы она оставалась в контексте управляемого объекта по моему (пользователю) усмотрению для модификации и вычислений на основе структуры дерева. Объекты в структуре также будут поддерживать ссылки на неуправляемые объекты в течение их времени в MOC.Предотвращение переустановки управляемых объектов из данных ядра

Возможно ли это? Если да, то каким образом это может быть достигнуто?

Примечание: Я понимаю, что это небольшое неправильное использование основных данных.

ответ

0

Вы не можете сделать это напрямую с использованием Core Data, оно всегда будет пытаться очистить память, если есть предупреждение о памяти.

Однако, если вы хотите всегда в памяти можно создать объект-оболочку, т.е.

@class MyObject { 
    NSManagedObject *thisIsWhatIRepresent; 

    NSString *someProperty; 
} 

- (id)initWithManagedObject:(NSMagagedObject *)managedObject; 

@property (nonatomic, copy) NSString *someProperty; 

@end 

При инициализации этого скопировать все свойства из управляемого объекта в свойства этого объекта. то это не имеет значения, если ваш управляемый объект получает сбой - у этого объекта есть копия данных.

Вам нужно будет убедиться, что любые изменения в вашем объекте также изменят объект с маневром, хотя вы можете подождать, пока у вас не будет нескольких изменений, и сохраните их сразу?

ПРИМЕЧАНИЕ: Это беспорядочное решение. Мой совет состоит в том, чтобы использовать Core Data так, как он предназначен или вообще не нужен :)

+0

Я подумал о чем-то подобном, и быстро пришел к тому же выводу, который вы сделали: это грязно. «Мой совет - использовать Core Data, поскольку он предназначен или совсем не нужен». «Я решил, что получим хотя бы один ответ вроде этого :-) – Karl

+1

До тех пор, пока я не увижу ПРИМЕЧАНИЕ в нижней части вашего вопроса, это было бы полным ответом;) Я думаю, что у вас будет грязное решение, несмотря ни на что, извините! – deanWombourne

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