gpt4 book ai didi

iphone - 带有 ARC 的 Objective-C 委托(delegate)

转载 作者:技术小花猫 更新时间:2023-10-29 10:31:24 24 4
gpt4 key购买 nike

我正在编写一个具有委托(delegate)对象回调的类,但在使用 ARC 时遇到问题。

例如我有符合 ProtocolA 的 ObjectA(委托(delegate))和 ObjectB,它是回调委托(delegate)的对象。我将 ObjectA 作为 @property 存储在 ObjectB 中。

在这种情况下,哪些变量应该是强引用,哪些应该是弱引用?我需要避免将“self”从 ObjectA 传递到 ObjectB 以设置委托(delegate)导致从强指针转换为弱指针的情况。

最佳答案

为避免循环引用,请将 ObjectB 的委托(delegate)保存为弱引用。因为 ObjectA“拥有”ObjectB,所以不应释放 ObjectA,而 ObjectB 有对它的引用。所以写:

    @property (weak, nonatomic) id <ObjectBDelegate> delegate;

关于iphone - 带有 ARC 的 Objective-C 委托(delegate),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8041906/

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