ios - 如何在 NSURL 检索 URL 的 html 时输出加载消息?

标签 ios swift nsurl

我正在使用 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()

最佳答案

是的。您可以添加 UIActivityIndi​​catorView 来显示加载符号。您在 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/

相关文章:

ios - UIImagePickerControllerReferenceURL 总是返回 nill

swift - 如何在 alamofire 中将 pdf 文件作为多部分表单数据上传?

ios - collectionview 单元格操作复制中的 uibutton

nsdata - 问题让 NSData 请求在 Swift 2.0 中工作

ios - NSStackView subview 不调整子堆栈 View 的大小

ios - 标尺应用程序如何在所有设备上保持准确?

swift - NSURL 在展开一个 Optional 值时发现 nil

ios - 更改iOS 7中的引用计数?

ios - Watson iOS SDK (Swift) 并将上下文变量传递给 Conversation

iphone - 使用 UICollectionViewFlowLayout 在 UICollectionView 的第一项上进行左填充