Core data 创建新的Object1,如果存在,则创建新的Object2,然后创建关系

Core data 创建新的Object1,如果存在,则创建新的Object2,然后创建关系,core-data,if-statement,save,relationship,nsmanagedobject,Core Data,If Statement,Save,Relationship,Nsmanagedobject,在我的数据模型中,我有: Object2<-->>Object1 目前,每次保存都会继续创建Object2。如何防止Object2的重复?您正在创建fetch请求,这是正确的(尽管它可能需要一个谓词),但您从未执行过它。执行fetch将返回一个数组,您需要检查该数组(查看它是否包含任何内容)并从中提取任何现有对象2 NSArray *items = [self.managedObjectContext executeFetchRequest:fetchRequest erro

在我的数据模型中,我有:

Object2<-->>Object1

目前,每次保存都会继续创建Object2。如何防止Object2的重复?

您正在创建fetch请求,这是正确的(尽管它可能需要一个谓词),但您从未执行过它。执行fetch将返回一个数组,您需要检查该数组(查看它是否包含任何内容)并从中提取任何现有对象2

NSArray *items = [self.managedObjectContext executeFetchRequest:fetchRequest error:fillInErrorHere...];

if (items.count == 1) {
    newObject2 = items[0];
}
NSArray *items = [self.managedObjectContext executeFetchRequest:fetchRequest error:fillInErrorHere...];

if (items.count == 1) {
    newObject2 = items[0];
}