我正在创建一个包含用户输入表单的应用程序。现在使用storyboard,当我将ViewController设置为其初始View Controller并在APp Delegate中设置rootViewController时,我可以保存数据而不用担心。
当我想将应用程序启动到另一个ViewController并且有一个指向输入表单的按钮链接时,我可以填写表单,但是当我按下保存时,它会告诉我它无法找到有问题的实体。
下面的代码来自appDelegate.m文件,以及它设置为处理数据输入的VC的那一刻。我想设置它,以便当前注释掉的ViewController成为根,然后当我在AddDataVC上保存按钮时它可以找到实体。
我很确定我的CoreData代码很好,因为它能够保存数据,但只有当输入表单不是初始的ViewController时它才会崩溃。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// Override point for customization after application launch.
AddDataVC *addDataVC = (AddDataVC *)self.window.rootViewController;
addDataVC.managedObjectContext = self.managedObjectContext;
//ViewController *controller = (ViewController *)self.window.rootViewController;
//controller.managedObjectContext = self.managedObjectContext;
return YES;
}
提前致谢: - )
- 修改 -
下面我从控制台粘贴了错误:
2012-05-17 23:46:37.288 SW_Vault[26604:15203] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '+entityForName: could not locate an NSManagedObjectModel for entity name 'Product''
- 编辑2 -
好的,我试图解释的是这个。 当我使用像实用程序应用程序这样的模板时,它允许我创建实体并设置textField和Save Button,它可以保存数据。图像不在故事板上。注意如何只有1个VC,它是初始视图:
但是当我有另一个VC作为初始视图控制器时,它会出现无法找到实体的错误。这是我上面描述的错误。
现在条目视图的代码没有改变,但如果你看第一个 - (BOOL)我在这个问题中发帖,我可以选择2个rootViewControllers,我只需要注释一个使用另一个。< / p>
现在在第二张图片中,如果我将该板中的第二个VC作为初始VC,那么我没有问题,只有当我通过Segue到达那里时。
我希望这更有意义: - )
答案 0 :(得分:0)
错误意味着您可能未加载定义Product
的托管对象模型。
为了避免这种情况,您需要在代码中的某个位置(可能是AppDelegate
)设置核心数据堆栈。
有关详细信息,建议您阅读this stackoverflow post。
答案 1 :(得分:0)