gpt4 book ai didi

ios - 如果 "self"是 ViewController,你应该几乎总是使用 [weak self] 吗?

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

我一直在每个回调中使用 [weak self],以防 Controller 展开并且“self”变为 nil。

这是正确的方法吗?

当我应该使用 [unowned self] 或两者都不使用时,有哪些示例...假设“self”是一个会经常展开的 ViewController?

最佳答案

如果当self 被取消初始化时回调仍然会被调用,那么使用[weak self] 是正确的。使用 [unowned self] 的原因是您知道在 self 消失后永远不会调用回调,但强烈捕获 self会导致保留周期。

[unowned self] 的一个例子是闭包的存在依赖于 self 的存在,那么很明显如果 self 消失了闭包也将消失并且不会被调用。

关于ios - 如果 "self"是 ViewController,你应该几乎总是使用 [weak self] 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31573867/

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