我的iOS委托方法是否总是在主线程上返回?

前端之家收集整理的这篇文章主要介绍了我的iOS委托方法是否总是在主线程上返回?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
这是一个“最佳实践”问题,我似乎无法在网上找到一个好的答案.我正在创建一个静态代码库,它提供了几种委托方法来进行其他事情的进度反馈.

该库管理它自己的队列,所以下载的事情显然没有在主线程上完成,但我的问题是我应该确保我的委托方法总是在主线程上调用,或者是否可以从排队的线程调用它我我在用?如果他想在我的委托方法中进行UI更新,那么依赖于使用该库来检查他是否在主线程上的开发人员?

干杯,
山姆

解决方法

你可以这样做;你只需要记录好这一点.

有些API会在主线程上回调您,有些API会在您用于启动工作的线程(或runloop)上回调,而其他API则根本不做任何保证.有些甚至会让你传入一个用于所有回调的GCD队列.

请记住,委托/回调可以阻止非常重要的时间,因此如果您的API需要尽快恢复工作,您当然希望分派到另一个线程或队列.

说完这一切之后,除非性能对您或API的用户至关重要,否则我会为开发人员提供最方便的主线程.

猜你在找的iOS相关文章