我是Core Data的新手,并尝试在与JSON后端通信的应用中使用它来保留对象以供离线支持。
我正在为我的模型使用NSObjects,现在使用NSManagedObjects。
我只需要将这些服务器对象保存在应用程序的几个部分中,而在其他部分中,继续使用以前的行为,而不是持久性:
Fetch from server -> Parse JSON response -> Create Objects without persistence to Core Data -> Display in UI
为此我使用了像这样的初始化器
- (id)initObjectWithJSON:(NSDictionary *)JSONDictionary
{
self = [super init];
if (!self) {
return nil;
}
self.property1 = JSONDictionary[@"property1"];
self.property2 = JSONDictionary[@"property2"]
...
}
我现在是否必须使用初始化器 initWithEntity:insertIntoManagedObjectContext:,因此即使我不想将对象持久保存到核心数据,也会创建一个新的上下文?
是否有另一种方法来分离"需要持久性的对象和不需要持久性的对象继续使用上面的旧方法?
答案 0 :(得分:0)
在没有上下文的情况下初始化它:
NSEntityDescription *entity = [NSEntityDescription entityForName:@"MyEntity" inManagedObjectContext:myMOC];
NSManagedObject *unassociatedObject = [[NSManagedObject alloc] initWithEntity:entity insertIntoManagedObjectContext:nil];