Distinct无法使用Realm Objects结果

时间:2019-02-13 13:07:58

标签: ios swift realm

我想基于ID获取不同的对象,但是我无法做到这一点。我面临以下错误

  

无法推断出通用参数'S'

看看下面的图片,让我知道是什么问题,请帮助我。我陷入其中

enter image description here

1 个答案:

答案 0 :(得分:2)

如果您查看distinct(by:)func distinct<S>(by keyPaths: S) -> Results<Person> where S : Sequence, S.Element == String)的类型签名,您会发现它期望使用Sequence<String>类型的输入参数。此外,查看该方法的documentation,它告诉您需要将keyPath作为String传入,以使用它们来产生不同的结果。

因此,使用官方文档中的Dog类示例,如果您想基于name属性产生不同的结果,则函数调用应如下所示:

class Dog: Object {
    @objc dynamic var name = ""
    @objc dynamic var age = 0
}

realm.objects(Dog.self).distinct(by: ["name"])