【问题标题】:What is the correct way to use RLMResults in Swift?在 Swift 中使用 RLMResults 的正确方法是什么?
【发布时间】:2018-08-22 19:21:33
【问题描述】:

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

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

如果我删除 @objc 引用,我会收到错误:

使用未声明的类型“RLMResults”

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

谢谢!

【问题讨论】:

  • 为什么要删除@objc 引用?
  • 因为在 Swift 项目中是不必要的。它被用于其他使用 Swift 和 Objective-c 混合的项目中。我错了?不管有没有这个,我都会遇到同样的错误

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


【解决方案1】:

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

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

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

import RealmSwift

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

}

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

Results 可以使用与List&lt;Element&gt; 相同的谓词进行查询,并且您可以链接查询以进一步过滤查询结果。 Results 始终反映当前线程上 Realm 的当前状态,包括在当前线程上的写入事务期间。

更多信息可以找到HERE

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-12-08
    • 1970-01-01
    • 1970-01-01
    • 2018-12-18
    • 1970-01-01
    • 2021-08-29
    • 1970-01-01
    相关资源
    最近更新 更多