我有一个客户对象,有两个关系,一个文档和一个资产。
当我创建资产时,我有一个条件,我检查客户中是否存在文档对象。如果它不存在,我创建一个并设置文档的客户关系。
在那之后,我创建了资产。但是,在尝试使用EXC_BAD_ACCESS将客户设置为资产时,我遇到了崩溃。
这个代码用起来很奇怪,但是我不知道会有什么改变会突然导致崩溃。
这是代码:
if (![customer inspectionDocument]) //check if a document exists
{
// if it doesn't create one
Document *document = [Document newDocument];
document.customer = customer;
//sets additional properties
}
// now create the asset
Asset *asset = [Asset newObject];
asset.customer = customer; // <---- crash occurs here
//sets additional properties
答案 0 :(得分:1)
我假设您正在使用关系将客户引用存储到您的文档和资产中。通常情况下,您应该有反向关系。您是否尝试在客户对象上设置文档属性而不是相反?
if (![customer inspectionDocument]) {
// if it doesn't create one
customer.document = [Document newDocument];
}
customer.asset = [Asset newObject];