在Swift中使用RLMResults的正确方法是什么?

时间:2018-08-22 19:21:33

标签: ios objective-c swift realm realm-list

我有一个xcode项目,正在使用Swift和Objective c代码。现在在其他Swift项目中,我想使用一个函数来加载和管理领域数据库中的某些数据,例如:

@objc func myData(_ allData: RLMResults<RLMObject>) -> [[AnyHashable]] {
...
}

如果删除@objc引用,则会出现错误:

  

使用未声明的类型“ RLMResults”

我已经导入了sdk和sdk-swift领域,如何在Swift中声明此函数? 可能是什么错误?

谢谢!

1 个答案:

答案 0 :(得分:0)

我假设您正在使用RealmSwift,因为您要删除@objc标记,并且您正在谈论“ Swift项目”

RLMResults仅用于Obj-C版本。使用RealmSwift时,您需要使用Results

下面您需要用对象结果替换

import RealmSwift

func myData(_ allData: Results<Object>) -> [[AnyHashable]] {

}
  

Results是Realm中从对象查询返回的容器类型。

     可以使用与Results相同的谓词查询

List<Element>,并且可以链接查询以进一步过滤查询结果。   Results始终反映Realm在当前线程上的当前状态,包括在当前线程上进行写事务期间。

可以找到更多信息HERE