我正在使用 Swift 的 NSURL 函数从 PHP 脚本检索 HTML 输出,该脚本与 MySQL 数据库交互,变量通过 POST 传递并通过 SSL 证书保护。
除了偶尔的长时间加载导致空白表格 View 外,一切都很好。在等待响应字符串时有什么方法可以运行函数吗?我对此一无所知。
这是我使用的代码:
let myUrl = NSURL(string: "http://www.casacorazon.org/ios.html")
let request = NSMutableURLRequest(URL: myUrl!)
request.HTTPMethod = "POST"
let task = NSURLSession.sharedSession().dataTaskWithRequest(request) {
data, response, error in
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0)) {
let responseString = NSString(data: data!, encoding: NSUTF8StringEncoding)
if error != nil {
print("Error: \(error)")
}
dispatch_async(dispatch_get_main_queue()) {
self.testLabel.text = "\(responseString!)"
}
}
}
task.resume()
最佳答案
是的。您可以添加 UIActivityIndicatorView 来显示加载符号。您在 task.resume()
之后放置的任何代码都将在网络调用发生时运行。取决于您是否已经在主线程上,您可能需要在它之后有一个额外的调度 block (与您在完成回调中执行的方式相同):
dispatch_async(dispatch_get_main_queue()) {
// make your UIActivityIndicator visible here
}
关于ios - 如何在 NSURL 检索 URL 的 html 时输出加载消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34316217/