ドキュメントと資産の 2 つの関係を持つ顧客オブジェクトがあります。
アセットを作成するときに、顧客にドキュメント オブジェクトが存在するかどうかを確認する条件があります。存在しない場合は作成し、ドキュメントの顧客関係を設定します。
その直後に、アセットを作成します。ただし、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