PromiseKit在their website上声明以下内容:



这是否意味着我永远不要在PromiseKit块中使用[weak self]?在任何情况下我仍然需要使用[weak self]吗?它到底如何防止保留周期?

最佳答案

该文档只是在说您不必担心PromiseKit会引入“强引用周期”(以前称为“保留周期”),因为当实现 promise 并且块完成运行时,这些强引用会自动为您解决。选择强引用还是弱引用完全取决于您。

例如,如果您只是在场景中不再存在的UI元素上进行更新,则无需强烈引用已关闭的 View Controller 。在这种情况下,您将使用weak。但是有时您需要强大的引用(例如,您可能希望更新基础模型以反射(reflect) promise 的成功或失败)。

最重要的是,他们所说的是,您不应该让PromiseKit决定强引用还是弱引用,而是应该由应用程序更广泛的设计要求来驱动。 PromiseKit的唯一硬性规定是您应避免使用unowned

关于swift - 我应该在PromiseKit块中使用[弱自我]吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39281214/

10-12 01:23