我有 2 个实体:用户、地址。我已经设置了每个用户可以有很多“地址”的关系。我不确定核心数据是如何工作的,但据我了解,每次我调用 insertEntityForName 时,它都会创建并存储一个对象。(也是表格中的一行)
那么问题来了:下面的代码不是在核心数据中存储了重复的地址吗?
- 当我为用户实体插入时,它还会插入一个地址
- 当我为地址实体调用插入时,它会创建另一个地址。
如果我是正确的并且这实际上在数据库中创建了一个重复项,那么防止它的方法是什么?
User *user = [NSEntityDescription insertEntityForName:@"User"
inManagedObjectContext:self.managedObjectContext];
user.firstName = @"first name";
user.lastName = @"last name";
Address *address = [NSEntityDescription insertEntityForName:@"Address"
inManagedObjectContext:self.managedObjectContext];
address.street = @"street";
user.address = address;