Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift 如何实例化领域结果<;T>;排列_Swift_Realm - Fatal编程技术网

Swift 如何实例化领域结果<;T>;排列

Swift 如何实例化领域结果<;T>;排列,swift,realm,Swift,Realm,Realm Swift文档说查询结果对象会返回一个数组,但是,当我尝试实例化这样的结果数组时:var allObjects:Results=[],我得到一个错误,说我不能将结果与数组文本一起使用 我知道realmapi参考说明“结果实例不能直接实例化”;”但我想知道是否有某种解决方法 我想知道,因为我想要一个全局变量,它是用一个空数组实例化的,并且在UIViewController类的viewWillAspect方法中进行了变异。例如: var allItems : Results<Ite

Realm Swift文档说查询
结果
对象会返回一个数组,但是,当我尝试实例化这样的结果数组时:
var allObjects:Results=[]
,我得到一个错误,说我不能将结果与数组文本一起使用

我知道realmapi参考说明“结果实例不能直接实例化”;”但我想知道是否有某种解决方法

我想知道,因为我想要一个全局变量,它是用一个空数组实例化的,并且在UIViewController类的
viewWillAspect
方法中进行了变异。例如:

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")
}
var allItems:Results=[]
覆盖函数视图将出现(uo动画:Bool){
超级。视图将显示(动画)
让realm=try!realm()
self.allItems=realm.objects(Item.self).sorted(按键路径:“description”)
}

A
Results
generic不是数组。它是可枚举和可下标的,但不是CollectionType


在这种情况下,是否将
allItems
作为可选项,然后展开?

结果是Realm提供的一种类型。虽然从外部看,它的行为类似于一个数组,但实际上它是一个抽象,包含了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")
}
var allItems:结果?
覆盖函数视图将出现(uo动画:Bool){
超级。视图将显示(动画)
让realm=try!realm()
self.allItems=realm.objects(Item.self).sorted(按键路径:“description”)
}

您能分享一下您希望这样做的用例吗?文档非常清楚。@d我已经更新了我的答案。谢谢你的输入。有什么方法可以实例化一个Results对象吗?