0

我已经编写了一个按钮来获取我的文本字段中的文本并将它们存储到一个实体中。当我在 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

4 回答 4

0

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

于 2012-05-17T06:51:30.250 回答
0

启用僵尸对象以查看发生了什么错误

转到产品>编辑方案>启用僵尸

于 2012-05-17T06:55:01.327 回答
0

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

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

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

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

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

于 2012-05-17T07:05:54.417 回答
0

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

在这里学习对其进行版本化,这将是继续进行的最佳方法。

于 2020-05-15T15:15:16.680 回答