gpt4 book ai didi

swift - 如何实例化 Realm Results 数组

转载 作者:搜寻专家 更新时间:2023-11-01 06:34:24 27 4
gpt4 key购买 nike

Realm Swift 文档说查询 Results<T>然而,当我尝试像这样实例化结果数组时,对象返回一个数组:var allObjects : Results<Object> = [] ,我收到一条错误消息,指出我不能将结果与数组文字一起使用。

我知道 Realm API Reference 说“Results instances cannot be directly instantiated;”但我想知道是否有某种解决方法。

我想知道,因为我想要一个用空数组实例化并在 viewWillAppear 中发生变异的全局变量UIViewController 类的方法。例如:

var allItems : Results<Item> = [] 

override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
let realm = try! Realm()
self.allItems = realm.objects(Item.self).sorted(byKeyPath: "description")
}

最佳答案

Results 是 Realm 提供的一种类型。虽然在外面它的行为像一个数组,但它实际上是一个包含 Realm 延迟加载机制的抽象,它不会暴露给终端应用程序。因此,第三方应用无法创建 Results 的新实例。

如果您只想保留由 Realm 查询创建的 Results 实例,您可以将其设为可选,而不是尝试先发制人地实例化它。

var allItems: Results<Item>?

override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
let realm = try! Realm()
self.allItems = realm.objects(Item.self).sorted(byKeyPath: "description")
}

关于swift - 如何实例化 Realm Results<T> 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43189897/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com