IOS 仅在应用程序的特定部分使用核心数据

问题描述 投票:0回答:1

我是 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: 从而创建一个新的上下文,即使我不想将对象保留到核心数据?

有没有另一种方法可以“分离”需要持久化的对象和不需要持久化的对象,继续使用上面的旧方法?

ios objective-c core-data
1个回答
0
投票

在没有上下文的情况下初始化它:

NSEntityDescription *entity = [NSEntityDescription entityForName:@"MyEntity" inManagedObjectContext:myMOC];
NSManagedObject *unassociatedObject = [[NSManagedObject alloc] initWithEntity:entity insertIntoManagedObjectContext:nil];

来源:如何处理临时 NSManagedObject 实例?

© www.soinside.com 2019 - 2024. All rights reserved.