【发布时间】:2017-08-20 06:17:00
【问题描述】:
我无法从我的 HTTPrequest 返回数据,也无法让完成处理程序工作。所以请协助我解决这个问题:
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()
}
在 void 函数中需要非 void return 语句。到这一步,我一头雾水……
【问题讨论】:
-
您的
return语句位于dataTask(with:completionHandler:)函数的完成块内;您的公共函数createRequest不返回任何内容,而它声称返回String -
简单做:var webString = try String(contentsOf: URL(string: url)!)
标签: ios swift3 httprequest urlsession