swift中的异步代码
我是swift新手……我不知道如何在异步调用后返回主线程。我正在通过URLSession访问数据库,并尝试了完成处理程序和委托。但他们都没有回到主线上来。因此,如果我想用数据库中的信息更新标签,我必须使用DispatchQueue.main。那么,如果我必须再次返回数据库,会发生什么呢?我会在第三个线程中结束吗 我的应用程序以登录屏幕开始,我验证您的凭据(URLSession),然后想启动下一个视图。现在所有内容都在后台线程中吗 假设你有这个:(跟随评论)swift中的异步代码,swift,xcode,asynchronous,Swift,Xcode,Asynchronous,我是swift新手……我不知道如何在异步调用后返回主线程。我正在通过URLSession访问数据库,并尝试了完成处理程序和委托。但他们都没有回到主线上来。因此,如果我想用数据库中的信息更新标签,我必须使用DispatchQueue.main。那么,如果我必须再次返回数据库,会发生什么呢?我会在第三个线程中结束吗 我的应用程序以登录屏幕开始,我验证您的凭据(URLSession),然后想启动下一个视图。现在所有内容都在后台线程中吗 假设你有这个:(跟随评论) private func backgr
private func backgroundLogIn(用户名:String,密码:String,回调:@escaping(Bool,String)->Void){
//此函数获取用户的详细信息,并从后台队列返回回调。
DispatchQueue.global(qos:.background).async{//您可以使用类似调度组的东西来进行异步调用。
1.将其定义为let myGroup=DispatchGroup()
2.然后调用函数->
'self.createQuestions {() -> () in
myGroup.notify(queue: .main) {
self.newQuestion()}}'
createQuestion函数如下所示
'func createQuestions(handleComplete:(()->())){
//激活并等待完成的代码
手稿`
}
希望这能起作用:)请与我们分享您的代码
'self.createQuestions {() -> () in
myGroup.notify(queue: .main) {
self.newQuestion()}}'