Firebase ios sdk异步和线程

Sha*_*fax 7 ios firebase

有谁知道使用Firebase iOS SDK远程调用Firebase是使用主线程还是后台线程?

我在文档中找不到任何东西.

Rag*_*gat 6

Firebase 并不能完全消除担心线程的需要。因为 Firebase 回调总是在主线程上返回,所以在从后台线程调用 Firebase observe/observerSingleEvent 时需要特别小心。

考虑用例:

DispatchQueue.global(qos: DispatchQoS.QoSClass.userInitiated).async {[weak weakSelf = self] in
 // Do something computationally intensive

 ref.child(somePath).observeSingleEvent(of: .value, with: { (snapshot) in
  DispatchQueue.global(qos: DispatchQoS.QoSClass.userInitiated).async {[weak weakSelf = self] in {
   // Do some computationally intensive non-critical activity based on data retrieved from Firebase
  }
 }
}
Run Code Online (Sandbox Code Playgroud)

  • 您能否详细说明您详细描述的用例有什么问题? (3认同)

Dav*_*ast 3

Firebase 使用它自己的后台线程。但正如 Jay 在评论中提到的,Firebase 消除了担心线程的需要。

因此本质上不需要在您自己的后台线程中运行 Firebase。