iOS Firebase framework是否在不同队列上下载文件?

iOS Firebase framework是否在不同队列上下载文件?,ios,firebase,swift2,firebase-storage,Ios,Firebase,Swift2,Firebase Storage,我有一个应用程序,我向Firebase发送请求,从Firebase的数据库下载文件 下面是代码片段 // Create a reference to the file you want to download let islandRef = storageRef.child("images/island.jpg") // Download in memory with a maximum allowed size of 1MB (1 * 1024 * 1024 bytes) islandRef.

我有一个应用程序,我向Firebase发送请求,从Firebase的数据库下载文件

下面是代码片段

// Create a reference to the file you want to download
let islandRef = storageRef.child("images/island.jpg")
// Download in memory with a maximum allowed size of 1MB (1 * 1024 * 1024 bytes)
islandRef.dataWithMaxSize(1 * 1024 * 1024) { (data, error) -> Void in
  if (error != nil) {
    // Uh-oh, an error occurred!
  } else {
    // Data for "images/island.jpg" is returned
    // ... imageView.image = UIImage(data: data!)
  }
}

那么Firebase是否在主队列以外的其他队列中发送下载操作?我有这个问题的原因是因为我想更新我的imageView.image,这样它就会出现在屏幕上。我知道iOS框架需要主队列来更新UI,所以我想确定是否需要在主队列上更新它

Firebase Storage在单独的后台队列上进行下载,以便不阻塞UI,但会在主队列上显示回调,从而允许您立即执行UI工作


如果要更改出现回调的队列,可以使用
FIRStorage.setCallbackQueue()
方法()。

Hey Mike!当应用程序在后台时,Firebase文件上载到FIRStorage(使用putData func)会暂停,这正常吗?也就是说,如果我去后台,上传会暂停,当我回来时(不管多少小时后),上传会继续。他们应该会被杀死——我们目前还没有进行后台上传/下载。这在技术上有点困难(因为操作系统可以随时杀死它),但也很难以一种干净的方式公开以恢复它们并观察恢复进度。