bmob - swift异步加载数据来不及赋值给全局变量怎么办?
本文介绍了bmob - swift异步加载数据来不及赋值给全局变量怎么办?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
我从Bmob云端数据库读数据,但是因为是异步读取的,所以来不及赋值给全局变量,程序就执行完了,请问这种情况要怎么保证先从云端数据库读完了数据,再执行后面的操作呢?
func searchAllData() {
let query:BmobQuery = BmobQuery(className: "youhuiquan")
query.findObjectsInBackground { (array, error) in
var i = 0
while(i<(array?.count)!){
let obj = array?[i] as! BmobObject
self.context = (obj.object(forKey: "title") as? String)!
self.url = (obj.object(forKey: "url") as? String)!
self.image_url = (obj.object(forKey: "image_url") as? String)!
i = i + 1
}
}
}
解决方案
异步要么用回调函数,要么使用 async/await。
Swift用回调的方式吧。
这篇关于bmob - swift异步加载数据来不及赋值给全局变量怎么办?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文