gpt4 book ai didi

macos - 在 OS X 中使用委托(delegate)

转载 作者:行者123 更新时间:2023-12-03 17:42:04 27 4
gpt4 key购买 nike

我是 OS X 开发新手,在获取委托(delegate)回调时遇到问题,我怀疑这可能是内存问题。我有一个 NSViewController。在它的 init 方法中,我设置了一个自定义 NSObject,如下所示:

        MyObject *aManager = [[MyObject alloc] initManager];
__theManager = aManager;
self.theManager.delegate = self;
[aManager release];

我设置为非原子的委托(delegate),分配。查看断点,我应该在 View Controller 中看到回调,但这从未发生。有任何想法吗?

最佳答案

__theManager = aManager; 应该是 self.theManager = aManager;,假设 theManager 是保留属性。您遇到的问题是 alloc] init];aManager 提供了 +1 的保留计数。 __theManager = aManager; 不会增加该计数,因为 iVar 是直接设置的。当你释放它时,保留计数变为0,因此它被释放。

关于macos - 在 OS X 中使用委托(delegate),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10480805/

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