在没有initWithEntity的情况下使用NSManagedObject类:?

run*_*mad 10 core-data nsmanagedobject ios

我的问题类似于:创建NSManagedObject派生类时出现问题

我在Core Data中设置了一个NSManagedObject,并为它设置了一个类.但是,我不想创建一个相同的NSObject类,而是想使用NSManagedObject类,但我不想创建实体并保存它.我只想将它用于数组,只有当我需要在Core Data中保存对象时我才想使用它insertEntity:

Store*store = [[Store alloc] init];

它给了我以下错误: CoreData: error: Failed to call designated initializer on NSManagedObject class 'Store'

有没有办法让子类或以某种方式使用NSManagedObject类/属性来分配我刚刚临时用于表的对象?

谢谢.

dav*_*ode 25

只需使用initWithEntity:insertIntoManagedObjectContext:并传递一个nil上下文,然后在准备就绪时在NSMAnagedObjectContext中调用 insertObject:

NSEntityDescription *entity = [NSEntityDescription entityForName:@"MyModelClass" inManagedObjectContext:myContext];
id object = [[MyModelClass alloc] initWithEntity:entity insertIntoManagedObjectContext:nil];
Run Code Online (Sandbox Code Playgroud)