gpt4 book ai didi

objective-c - 弱(与强)对象引用的生命周期是多少?

转载 作者:行者123 更新时间:2023-11-28 11:43:36 29 4
gpt4 key购买 nike

我突然想到...我相信弱引用的生命 与该引用的范围(在函数内或全局内)相关。

所以我想知道,只要我将数据处理保持在特定范围内,那么我应该可以使用 weakstrong 引用。正确的?

我问的原因是……有人告诉我,一个组织有一项政策,默认情况下保持 block /闭包“弱”以避免意外的保留周期。

最佳答案

one organization has a policy of keeping blocks/closure 'weak' by default to avoid accidental retain cycles.

可能,该组织有一项政策,即保持 block 捕获的引用“弱”以避免保留循环。 block 本身作为属性被复制。

有一种非常特殊的情况, block 会导致保留循环: block 引用一个对象(自身或其他对象),并且该对象(直接或间接)保留 block 。

大多数时候,我们通过检查知道什么对象将保留一个 block 。说那是“objectA”。保留周期问题是: block 中引用的任何对象是否直接或间接保留“objectA”?这些对象,而不是其他对象,必须声明为 weak 才能在 block 中使用。

一直声明它们都是弱的就可以了,但是,IMO,会让这些代码的 future 读者担心作者对他们自己的代码没有深刻的理解。

关于objective-c - 弱(与强)对象引用的生命周期是多少?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52977401/

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