【发布时间】:2015-06-20 06:48:17
【问题描述】:
对于数组我们可以这样做
resultArray = array1 + array2
我有两个Results结果如何添加它们?
我必须循环还是以其他方式存在?
【问题讨论】:
对于数组我们可以这样做
resultArray = array1 + array2
我有两个Results结果如何添加它们?
我必须循环还是以其他方式存在?
【问题讨论】:
RLMResults 像数组而不是数组,所以不能直接相加,必须使用谓词才能得到结果。 Realm Doc中提到了这一点
RLMResults 是 Realm 中从对象查询返回的自动更新容器类型。
RLMResults 可以使用与 RLMObject 和 RLMArray 相同的谓词进行查询,并且您可以链接查询以进一步过滤查询结果。
无法直接创建 RLMResults。
但如果你想在现有的RLMArray 中添加RLMArray 或RLMResults 的对象,你可以使用RLMArray 的– addObjects: 方法,唯一的条件是两个结果应该属于同一类。 RLMArray Doc供参考。
【讨论】:
Results 不支持串联,但您可以创建一个 GeneratorOf 来产生两个结果的总和,或者创建一个 [Object],这是通过这样做的非惰性等效项
let sum = map(array1) { $0 } + map(array2) { $0}
【讨论】: