1

Я создал простой базовый класс с тремя параметрами (OBJECT1, см. Ниже) и реализовал модель Core Data, в которой есть один объект, полученный из этого класса, с одним атрибутом (порядком).CoreData: атрибуты базового класса не являются постоянными

Проблема в том, что при сохранении контекста в файле sql хранятся только динамические параметры (созданные в модели), те, которые не включены в модель (создаются вручную), не сохраняются ... So в name1, name2 и name3 PARAMS имеют значения в течение первого времени я создаю объект, НО при следующем запуске приложения, так как я не создавать их больше ... они равны нулю ...

Та же история, если я создаю производные классы от OBJECT1 класс ...

Есть ли способ сохранить весь объект навсегда и использовать только модель Core Data для тех ключевых атрибутов, которые требуют индексации?

БАЗА Object1:

@interface OBJECT1 : NSManagedObject 
{ 
    NSString *name1; 
    NSString *name2; 
    NSString *name3; 
} 

    @properties (nonatomic,assign) NSNumber *order; 
    @properties (nonatomic,copy) NSString *name1; 
    @properties (nonatomic,copy) NSString *name2; 
    @properties (nonatomic,copy) NSString *name3; 

@end 

@implementation OBJECT1 

    @dynamic order; 

    @synthesize name1; 
    @synthesize name2; 
    @synthesize nam3; 

@end 
+0

Любые проблемы с использованием 'name1',' name2', 'name3' так же, как' order'? –

ответ

3

Управляемые классы объектов нормальные классы, вы можете добавить переменные экземпляра к ним и использовать их. Это не означает, что эти данные будут волшебным образом сохранены, поскольку они не связаны с хранилищем Core Data.

Если вы используете базовые данные, добавьте всю информацию, которую вы хотите сохранить в модели, чтобы Core Data мог контролировать/сохранять ее для вас. Запуск 2 разных схем для сохранения данных с одного и того же объекта будет запутанным и подверженным ошибкам.

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