gpt4 book ai didi

ios - 当我创建一个类并调用在该类中创建的方法时,我遇到错误,它在函数中重定向两次并显示 nil

转载 作者:行者123 更新时间:2023-11-30 14:02:23 24 4
gpt4 key购买 nike

我正在使用 Swift IOS 编码开发 Rest API。我的问题是,当我从 Controller 请求数据时,它正在工作,但是当我创建一个类并调用在该类中创建的方法时,我遇到错误,它在函数中重定向两次并显示为零。

我的类(class)请求函数是:

func MakeRequestToServer(url:String, httpMethod:String, parameters: String) -> (NSURLResponse, NSData, NSError) {

var responseValue = NSURLResponse()
var dataValue = NSData()
var errorValue = NSError()

var URL: NSURL = NSURL(string: url)!
var request:NSMutableURLRequest = NSMutableURLRequest(URL:URL)
request.HTTPMethod = httpMethod

let stringConversionToBase64 = "testu"
let base64Data = stringConversionToBase64.dataUsingEncoding(NSUTF8StringEncoding)
let base64String = base64Data?.base64EncodedStringWithOptions(.allZeros)
request.setValue(base64String!, forHTTPHeaderField:"customerKey")

request.setValue("127.0.0.1", forHTTPHeaderField:"clientIpAddress")

request.setValue("application/x-www-form-urlencoded", forHTTPHeaderField: "Content-Type")


request.HTTPBody = parameters.dataUsingEncoding(NSUTF8StringEncoding);

NSURLConnection.sendAsynchronousRequest(request, queue: NSOperationQueue.mainQueue())
{
(response, data, error) in

responseValue = response
dataValue = data
// errorValue = error

println("respo\(response)")
// println("json from server: \(json)")

}
return (responseValue,dataValue,errorValue)
}

从 Controller 中我调用这个方法就像......

 var repso = MakeRequestToServer(finalURL, requestType, postString)

最佳答案

当然它返回nil。您将在异步请求完成之前返回。重构此函数以使用completionHandler。提示:

func makeRequestToServer(url: String, httpMethod: String, parameters: String, completionHandler: ((data: NSData?, error: NSError?)->())) {
//
NSURLConnection.sendAsynchronousRequest(request, queue: NSOperationQueue.mainQueue()) { (response, data, error) -> Void in
//
completionHandler(data: data, error: error)
}
}

关于ios - 当我创建一个类并调用在该类中创建的方法时,我遇到错误,它在函数中重定向两次并显示 nil,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32840074/

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