gpt4 book ai didi

ios - 从服务器下载文件时应用程序卡住

转载 作者:搜寻专家 更新时间:2023-10-31 22:13:19 24 4
gpt4 key购买 nike

我正在尝试从服务器下载一个 txt 文件,但在我下载字符串时应用程序卡住了一点:

  override func viewDidAppear(animated: Bool) {



let getPrice = try! String(contentsOfURL: NSURL(string: "http://site.cin/price.txt")!, encoding: NSUTF8StringEncoding)
self.price.text = getPrice


}

我不想使用 AFNetwroking 等...

最佳答案

您应用的所有 UI 都在主线程上运行。如果您尝试在主线程上执行任何与网络相关的任务(至少需要几秒钟),那么它将在该时间段内阻塞主线程。因此,除了与 UI 相关的更改外,您不应该在主线程上执行此类任务。所以最好对网络调用进行异步请求,并在完成时在主线程上更新 UI

你应该这样做,

  NSURLSession.sharedSession().dataTaskWithURL( NSURL(string: "http://site.cin/price.txt")!) { (data, response, error) in

var getprice = NSString(data: data!, encoding: NSUTF8StringEncoding)

dispatch_async(dispatch_get_main_queue(), {

self.price.text = getPrice
})

}

关于ios - 从服务器下载文件时应用程序卡住,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38720989/

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