bmob - swift异步加载数据来不及赋值给全局变量怎么办?

查看:202
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆