在上下文中应用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: []