Realm:如何在 Realm 中添加两个 Result<(Object)>

Realm: How to add two Results<(Object)> in Realm

对于数组我们可以做

resultArray = array1 + array2

我有两个 Results<(Object)> 结果,如何添加它们?

我必须循环还是有任何其他方式?

RLMResults 像数组而不是数组,所以你不能直接添加它们,你必须使用谓词来得到你的结果。 Realm Doc

中提到了这一点

RLMResults is an auto-updating container type in Realm returned from object queries.

RLMResults can be queried with the same predicates as RLMObject and RLMArray and you can chain queries to further filter query results.

RLMResults cannot be created directly.

但是如果你想在现有的 RLMArray 中添加 RLMArrayRLMResults 的对象,你可以使用 RLMArray– addObjects: 方法,唯一的条件是两个结果应该是相同的 class。 RLMArray Doc供参考。

Results 不支持串联,但您可以创建一个 GeneratorOf 来生成两个结果的总和,或者创建一个 [Object] ,它是非惰性等价物通过做

let sum = map(array1) { [=10=] } + map(array2) { [=10=]}