【发布时间】:2016-12-20 10:24:28
【问题描述】:
我有一些代码需要在 Firebase 完成下载我指定它事先下载的内容后立即执行。问题是此代码始终在下载完成之前运行。
if currentVersionNumber < newVersionNumber {
print("Feed: button donwloading cards")
//self.databaseButton.setTitle("Downloading New Cards...", for: .normal)
ref.observe(.value, with: { snapshot in
print("Feed: Checking for new cards from firebase")
for item in snapshot.children {
// Download in memory with a maximum allowed size of 1MB (1 * 1024 * 1024 bytes)
cardRef.data(withMaxSize: 1 * 1024 * 1024) { (data, error) -> Void in
if (error != nil) {
// Uh-oh, an error occurred!
print("Feed: error occured")
print(error)
} else {
// Data for "images/island.jpg" is returned
cards.imageName = data!
print("Feed: downloaded \(cards.name)")
}
}
// add to updated list of cards
updateCards.append(cards);
}
})
} else {
print("Feed: cards are up to date. \(currentVersionNumber)")
}
})
此代码从 Firebase 数据库下载我想要的项目,但会在它之后运行任何代码,在它完成之前。如何制作,以便我可以选择在下载完成后立即执行代码块?
【问题讨论】:
标签: ios swift firebase firebase-realtime-database