Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/102.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/16.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
iOS Firebase-如何强制数据读取按顺序进行?_Ios_Swift_Firebase_Firebase Realtime Database - Fatal编程技术网

iOS Firebase-如何强制数据读取按顺序进行?

iOS Firebase-如何强制数据读取按顺序进行?,ios,swift,firebase,firebase-realtime-database,Ios,Swift,Firebase,Firebase Realtime Database,我正在尝试使用多个快照来获取代码所需的信息。问题是,有时它们没有按照我需要的顺序执行。现在我把它们筑巢成这样: _ = ref.child("users").child(self.userKey).child("name").observeSingleEvent(of: FIRDataEventType.value, with: { (snapshot) in //execute block 1 let argToQuery2 = snapshot.value as! Strin

我正在尝试使用多个快照来获取代码所需的信息。问题是,有时它们没有按照我需要的顺序执行。现在我把它们筑巢成这样:

 _ = ref.child("users").child(self.userKey).child("name").observeSingleEvent(of: FIRDataEventType.value, with: { (snapshot) in

   //execute block 1
   let argToQuery2 = snapshot.value as! String

         _ = ref.child("users").child(argToQuery2).child("job").observeSingleEvent(of: FIRDataEventType.value, with: { (snapshot) in

            //execute block2 
......
     })
})
但正如我所说,我发现块1并不总是在块2之前执行,我需要块1中的信息来完成块2。如何强制这些查询按顺序进行?如果我只有两个查询,我会尝试使用布尔值来查看第一个块是否已完成,但在我的实际代码中,我有5个以上的嵌套查询


谢谢

您尝试过NSOperationQueue吗?您可以使用NSOperationQueue为您的操作设置依赖项。我将对此进行研究,谢谢您尝试使用NSOperationQueue吗?您可以使用NSOperationQueue为您的操作设置依赖项。我将对此进行研究,谢谢