gpt4 book ai didi

ios - "NSURLSession API is highly asynchronous"是什么意思?

转载 作者:行者123 更新时间:2023-12-02 18:15:00 25 4
gpt4 key购买 nike

session成为一个配置的NSURLSession对象。在 Swift 中为此 session 创建任务的典型代码是:

let task = session.dataTaskWithRequest(request, completionHandler: { (data: NSData!, response: NSURLResponse!, error: NSError!) -> Void in 
//my custom completion handler invocation
})

我的疑问是,是否会在 dispatch_async 调用中调用我的自定义完成处理程序以避免阻塞 UI 线程?或者它不需要要求,因为 API 本质上是异步的,方法 dataTaskWithRequest(_:completionHandler) 会处理?

也在documentation中,如您所见,该方法没有完成处理程序 block 。但我见过很多使用这种方法的教程!?

最佳答案

完成处理程序在您提供的队列或其自己的串行队列上运行。除非您在创建 session 时显式传入主队列,否则回调会阻塞主线程的唯一情况是您的完成处理程序显式调用 performSelectorOnMainThread:dispatch_async/同步dispatch_get_main_thread

关于ios - "NSURLSession API is highly asynchronous"是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38303954/

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