答案 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"])