Kaz*_*zmi 1 iphone core-data nsmanagedobject nsentitydescription
我试图在多个表中插入值(准确地说是25),我能够在所有表中插入记录,除了一个,这是因为一个属性,如果我删除该属性,它开始保存数据到表中但是当我添加该属性并尝试设置其值时,它以EXC_BAD_ACCESS终止.
我尝试更改属性的名称,甚至表格,但没有工作.下面是我的代码::
Ashes *ashesObj = (Ashes *)[NSEntityDescription insertNewObjectForEntityForName:@"Ashes" inManagedObjectContext:managedObjectContext];
[ashesObj setAshes_id:@""];
[ashesObj setArrangement_id:@"34"];
[ashesObj setCasket_order_date:@""];
[ashesObj setCasket_model:@""];
[ashesObj setCasket_supplier:@""];
//[ashesObj setAshes_address:@"N/A"]; (This one is causing problem)
[ashesObj setPostal_code:@"N/A"];
[ashesObj setName_client:@""];
[ashesObj setTelephone:@""];
[ashesObj setEmail:@""];
NSError *error;
if (![managedObjectContext save:&error])
{
NSLog(@"Problem saving: %@", [error localizedDescription]);
}
Run Code Online (Sandbox Code Playgroud)
一般的最佳实践,您遇到EXEC_BAD_ACCESS时,任何时候都会立即使用Zombies工具通过Instruments运行您的代码(以及相同的点击/代码路径).
使用未注释的代码行执行此操作.您的应用程序将崩溃,但是仪器和僵尸会指向导致崩溃的确切代码行(这与您在那里的代码不同).
很可能你不小心过度释放了一个对象,无论出于何种原因,它只会在你执行上面的代码时暴露出来.
您可以使用"产品"菜单从XCode启动Instruments,然后选择"配置文件".仪器启动后,系统会提示您输入要使用的工具,选择Zombies.然后,一旦出现模拟器,执行测试用例以重现该问题.一旦发生崩溃,您将看到僵尸的信息.
| 归档时间: |
|
| 查看次数: |
1277 次 |
| 最近记录: |