我无法从我的HTTP请求中返回数据,也无法使完成处理程序正常工作。因此,请协助我解决这个问题:
public static func createRequest(qMes: message, location: String, method: String) -> String{
let requestURL = URL(string: location)
var request = URLRequest(url: requestURL!)
request.httpMethod = method
request.httpBody = qMes.toString().data(using: .utf8)
let requestTask = URLSession.shared.dataTask(with: request) {
(data: Data?, response: URLResponse?, error: Error?) in
if(error != nil) {
print("Error: \(error)")
}
return String(data: data!, encoding: String.Encoding.utf8) as String!
}
requestTask.resume()
}
在无返回值函数中期望非空返回语句。此时我一筹莫展...
return
语句在dataTask(with:completionHandler:)
函数的完成块内部; 你的公共函数createRequest
没有返回任何内容,尽管它声称返回一个String
。 - dirkgroten