【发布时间】:2017-02-15 07:57:27
【问题描述】:
我正在尝试使用 CoreData 为我的应用程序创建数据存储。据我所知,Xcode 8 CoreData 使用的是persistentContainer 而不是managedObjectContext。
我创建了一个包含所需实体的数据模型,并从编辑器菜单创建了一个NSManagedObject 子类。
我的问题是当我想使用persistentContainer时,没有找到标识符。
#import "UserCredentials+CoreDataClass.h"
//Fetch all username to array
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc]initWithEntityName:@"UserCredentials"];
NSError *requestError = nil;
//I couldn't find the persistent container even though I had imported my header file.
NSArray *usernames = [self.persistentContainer.viewContext executeFetchRequest:fetchRequest error:&requestError];
我意识到我的 CoreDataClass 甚至根本没有 persistentContainer 属性。我可以在哪里声明,以便访问我的数据存储?
【问题讨论】:
-
使用
self.context executeFetchRequest:fetchRequest error:&requestError];。NSManagedObjectContext没有被完全删除,每个NSManagedObject都应该存在于此。 -
@Ludovic,我正在使用 Objective C。
-
@iamhx 不是一个真正的答案,但你应该阅读这个(它很快但很容易转换为 ObjC):stackoverflow.com/questions/37956720/…
-
@iamhx 是的,我删除了我的评论,对不起,但这是你应该实现 persistentContainer 的方式
-
@Ludovic 不用担心。让我尝试阅读 swift 代码,看看我是否可以转换它...
标签: ios objective-c core-data