0

我有一个具有两个关系的客户对象,一个文档和一个资产。

当我创建资产时,我有一个条件是我检查客户中是否存在文档对象。如果它不存在,我创建一个并设置文档的客户关系。

在那之后,我创建了资产。但是,在尝试使用 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
4

1 回答 1

1

我假设您正在使用关系来存储客户对您的文档和资产的引用。通常,您应该有反向关系。您是否尝试过在客户对象上设置文档属性而不是相反?

if (![customer inspectionDocument]) {

    // if it doesn't create one
    customer.document = [Document newDocument];
}

customer.asset = [Asset newObject];
于 2013-08-21T15:02:24.763 回答