gpt4 book ai didi

ios - 我的 iOS 委托(delegate)方法是否应该始终在主线程上返回?

转载 作者:可可西里 更新时间:2023-11-01 03:17:44 24 4
gpt4 key购买 nike

这是一个“最佳实践”问题,我似乎无法在网上找到好的答案。我正在创建一个静态代码库,它提供了几个用于进度反馈的委托(delegate)方法。

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

干杯,山姆

最佳答案

您可以采用任何一种方式;您只需要将其记录下来即可。

有些 API 会在主线程上回调您,有些会在您用来开始工作的线程(或运行循环)上回调,而其他 API 则根本不做任何保证。有些甚至会让您传入用于所有回调的 GCD 队列。

请记住,委托(delegate)/回调可能会阻塞很长一段时间,因此如果您的 API 需要尽快恢复工作,您当然希望分派(dispatch)到另一个线程或队列。

综上所述,除非性能对您或您的 API 用户至关重要,否则我会选择对开发人员最方便的主线程。

关于ios - 我的 iOS 委托(delegate)方法是否应该始终在主线程上返回?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17486729/

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