iOS Firebase框架是否将文件下载到不同的队列中?

时间:2016-08-09 18:42:53

标签: ios firebase swift2 firebase-storage

我有一个应用程序,我向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是否在MAIN队列以外的其他队列中发送下载操作?我有疑问的原因是因为我想更新我的imageView.image,所以它会出现在屏幕上。我知道iOS框架需要MAIN队列来更新UI,所以我想确保是否需要在主队列上更新它!

1 个答案:

答案 0 :(得分:2)

Firebase存储在单独的后台队列上执行下载,以便不阻止UI,但在主队列上显示回调,这允许您立即执行UI工作。

如果您想更改回调所在的队列,可以使用FIRStorage.setCallbackQueue()方法(docs)。