可以说我有这个
// a bunch of code...
FIRDatabase.database.reference.child("somechild").observeSingleEventOfType(.Value, withBlock{(snapshot) in
//some code inside of the completion handler})
请不要过多地阅读代码片段来要求更多代码,我只需要一个简短的答案。当它说“一堆代码”时,假设它实际上是 MAIN 队列上的一些代码。现在,当我写下observeSingleEvent Firebase完成处理程序时,我对它的分析是这样的。
observeSingleEvent 获取后台队列上的快照,以免阻塞主队列上的 UI。
一旦它获取快照,“in”之后的代码块现在就会返回到 MAIN 队列,因此可以将任何 UI 相关代码放入其中。
我的整个应用程序都是基于这个推理,所以如果我不正确,请告诉我到底发生了什么。
这确实是 Firebase 数据库客户端的工作方式:所有网络和磁盘 I/O 都会发生off主线程,然后调用您的回调/块on主线程。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)