gpt4 book ai didi

ios - 使用 Objective-C 将 CoreData 添加到现有项目中

转载 作者:行者123 更新时间:2023-11-28 21:13:41 25 4
gpt4 key购买 nike

我正在尝试使用 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。我可以在哪里声明它,以便我可以访问我的数据存储?

最佳答案

我假设您在创建对象时选择了核心数据选项。您的对象上下文为空,因为它存储在 AppDelegate 中。所以你需要像下面这样从 appdelegate 获取上下文引用。

NSManagedObjectContext *context = ((AppDelegate*)[[UIApplication sharedApplication] delegate]).persistentContainer.viewContext;
NSArray *usernames = [context executeFetchRequest:fetchRequest error:&requestError];

关于ios - 使用 Objective-C 将 CoreData 添加到现有项目中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42243603/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com