gpt4 book ai didi

ios - 如何使用 Swift 在 Alamofire 函数中返回 true/false?

转载 作者:行者123 更新时间:2023-11-30 13:37:29 25 4
gpt4 key购买 nike

func checkIfFriend()->Bool{

request(.POST, "", parameters:["":""]).responseJSON{_,_,jsonData in

if something{
return true}
else{
return false
}
}

看来“返回真/假”必须与函数处于同一级别,并且不能在另一个函数内(在本例中为 Alamofire 函数)。

在这种情况下,如何根据请求返回的内容在 checkIfFriend 函数中返回 bool ?

最佳答案

您的 checkIfFriend() 函数与您的 Alamofire 请求(异步运行)不在同一线程上运行。您应该使用回调函数/完成处理程序,如下所示:

func checkIfFriend(completion : (Bool, Any?, Error?) -> Void) {

request(.POST, "", parameters:["":""]).responseJSON{_,_,jsonData in

if something{

completion(true, contentFromResponse, nil)
//return true

}else{

completion(false, contentFromResponse, nil)
// return false

}
}

//Then you can call your checkIfFriend Function like shown below and make use
// of the "returned" bool values from the completion Handler

override func viewDidLoad() {
super.viewDidLoad()

var areWeFriends: Bool = Bool()

var responseContent: Any = Any()
checkIfFriend(completion: { (success, content, error) in
areWeFriends = success // are We Friends will equal true or false depending on your response from alamofire.
//You can also use the content of the response any errors if you wish.

})

}

关于ios - 如何使用 Swift 在 Alamofire 函数中返回 true/false?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35923234/

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