gpt4 book ai didi

ios - 为什么当从 Alamofire 响应触发代码时 KYDrawerController 不显示?

转载 作者:行者123 更新时间:2023-11-29 05:57:07 24 4
gpt4 key购买 nike

我使用 KYDrawerController 在成功登录时在主屏幕上显示侧面菜单。

我使用 Alamofire 请求用户身份验证,当响应成功时,然后打开带抽屉的主屏幕。

问题是主屏幕没有显示或登录屏幕保持静止,但是当从 Alamofire 响应外部调用代码时,它工作得很好。这是我的代码

Alamofire.request(URL_LOGIN_PHONE, method: .post, parameters: parameters).responseJSON {  response in

switch response.result {
case .success(let value):
let jsonResponse = JSON(value)

// Check if status = success
if jsonResponse["status"] == "success" {

// Init Drawer
let appDelegate = UIApplication.shared.delegate as! AppDelegate

let storyBoard = UIStoryboard.init(name: "Main", bundle: Bundle.main)

let navVC = storyBoard.instantiateViewController(withIdentifier: "NavVC") // is the main controller for the drawer.
let drawerVC = storyBoard.instantiateViewController(withIdentifier: "DrawerVC") // is the drawer, and the drawer needs a main controller

appDelegate.drawerController.mainViewController = navVC
appDelegate.drawerController.drawerViewController = drawerVC

appDelegate.window?.rootViewController = appDelegate.drawerController
appDelegate.window?.makeKeyAndVisible()

} else {

}

case .failure( _):
}

}

最佳答案

您必须将代码放入异步闭包 block 中,如下所示

DispatchQueue.main.async {
// Init Drawer
let appDelegate = UIApplication.shared.delegate as! AppDelegate

let storyBoard = UIStoryboard.init(name: "Main", bundle: Bundle.main)

let navVC = storyBoard.instantiateViewController(withIdentifier: "NavVC") // is the main controller for the drawer.
let drawerVC = storyBoard.instantiateViewController(withIdentifier: "DrawerVC") // is the drawer, and the drawer needs a main controller

appDelegate.drawerController.mainViewController = navVC
appDelegate.drawerController.drawerViewController = drawerVC

appDelegate.window?.rootViewController = appDelegate.drawerController
appDelegate.window?.makeKeyAndVisible()
}

关于ios - 为什么当从 Alamofire 响应触发代码时 KYDrawerController 不显示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55048775/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com