gpt4 book ai didi

iphone - 无法找到实体名称的 NSManagedObjectModel

转载 作者:行者123 更新时间:2023-12-03 18:19:30 27 4
gpt4 key购买 nike

这是toggleAddProject方法的代码,核心数据代码与Apple的CoreDataBooks示例中的代码几乎相同,但是当我单击添加按钮时,应用程序崩溃并显示entityForName:无法找到实体名称的NSManagedObjectModel以 newProjectController.project

开头的行中的“Project”
-(IBAction)toggleAddProject 
{
NewProjectViewController *newProjectController = [[[NewProjectViewController alloc] initWithStyle:UITableViewStyleGrouped] autorelease];

// Create a new managed object context for the new project -- set its persistent store coordinator to the same as that from the fetched results controller's context.
NSManagedObjectContext *addingContext = [[NSManagedObjectContext alloc] init];
self.addingManagedObjectContext = addingContext;
[addingManagedObjectContext setPersistentStoreCoordinator:[[fetchedResultsController managedObjectContext] persistentStoreCoordinator]];
newProjectController.project = (Project *)[NSEntityDescription insertNewObjectForEntityForName:@"Project" inManagedObjectContext:addingContext];
[addingContext release];


UINavigationController *addNewNavigationController = [[UINavigationController alloc] initWithRootViewController:newProjectController];
[self.navigationController presentModalViewController:addNewNavigationController animated:YES];
[addNewNavigationController release];
}

一切都已综合,项目实体已存在。我不明白为什么它会崩溃。大多数人似乎都可以通过在方法本身或 viewDidLoad 中插入以下代码来修复此错误:

if (managedObjectContext == nil) 
{
managedObjectContext = [(CoreDataBooksAppDelegate *)[[UIApplication sharedApplication] delegate] managedObjectContext];
}

当为我的应用程序委托(delegate)进行修改时,没有什么区别。感谢您的帮助。

最佳答案

此错误只有几个可能的来源:

  1. 实体名称拼写错误。
  2. 无托管对象上下文对象。
  3. 无法将包含实体的模型添加到上下文使用的持久存储中。
  4. 无法将正确的持久存储添加到上下文本身。

关于iphone - 无法找到实体名称的 NSManagedObjectModel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3348333/

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