当我向Core Data实体添加一个条目时,iPhone模拟器崩溃了吗?

时间:2012-05-17 06:45:50

标签: iphone core-data entity

我编写了一个按钮来获取文本字段中的文本并将其存储到实体中。当我在iPhone模拟器中运行时,输入一些文本,然后按下按钮,它会崩溃。没有消息告诉我发生了什么。我已经确定模拟器不喜欢这个未注释的代码行:

Person *person = [NSEntityDescription insertNewObjectForEntityForName:@"Person" inManagedObjectContext:self.managedObjectContext];
//    person.username = self.usernameTextField.text;
//    person.password = self.passwordTextField.text;
//    person.carmodel = self.carModelTextField.text;
//    [self.managedObjectContext save:nil];

关于可能发生的事情的任何想法?我甚至不知道从哪里开始。编译器当然没有给出问题,因为模拟器运行。提前谢谢!

4 个答案:

答案 0 :(得分:0)

在模拟器上删除应用程序并清理构建并再次安装。它会起作用。

答案 1 :(得分:0)

启用僵尸对象以查看发生的错误

转到产品>编辑模式>启用僵尸

答案 2 :(得分:0)

这个问题可能是由多个原因引起的!请在Xcode中提供异常日志,您可以在输出部分找到它(查看 - >调试区域 - >激活控制台)

这可能是导致崩溃的原因!

  1. 您已修改数据模型(在更改数据模型后,您必须从模拟器/设备中删除该应用并重新安装)

  2. 实体名称中可能存在拼写错误" Person"在您提供的代码行中,检查它是否与数据模型中的实体名称匹配。

  3. 您的managedObjectContext未初始化,如果这不是您应用的主视图控制器,则必须将managedObjectContext传递给它。首先确保app delegate managedObjectContext已正确设置,并且您从一个视图控制器传递到另一个视图控制器。

答案 3 :(得分:0)

每当更改架构时,都需要执行数据库的版本控制。删除应用程序不是解决方案。

了解here的版本信息,这将是最好的方法。