0

在上下文中应用overwrite合并策略时,对多关系的合并结果有时会让我感到困惑。例如:

原始值:

属性/关系 类型 价值
姓名 细绳 可能
年龄 诠释 20
爱好 NSOrderedSet 【走路、看书】

如果我只更改属性的值,如下所示,在上下文 1 上所做的更改将完全被上下文 2 覆盖。

// context 1
entity.name = "May2"
entity.age = 21 

// context 2
// mergePolicy = .overwrite
entity.age = 22

// result:
// name: "May", age: 22

但是,当我像下面这样更新多对多关系时hobbies,合并结果是空的,而不是[reading].

问题:谁能解释为什么在这种情况下一对多关系没有被覆盖?谢谢!

// context 1
entity.hobbies = [walking]

// context 2
// mergePolicy = .overwrite
entity.hobbies = [reading]

// result:
hobbies: []
4

0 回答 0