gpt4 book ai didi

cocoa - 非ARC下如何清零弱引用?

转载 作者:行者123 更新时间:2023-12-03 16:11:27 25 4
gpt4 key购买 nike

我不喜欢 ARC。

但是 ARC 最重要的功能,即弱引用清零,在非 ARC 下却缺失了。目前我正在使用 MAZeroingWeakRef ,它可以工作,但是很hacky,有时会使代码变得多余。还有其他方法可以将弱引用归零吗?

最佳答案

实现弱引用归零并不难。您所要做的就是跟踪所有引用指针 - 将它们存储在集合中 - 并在释放指向对象时分配 NULL 。无论如何,手动完成所有这些事情确实需要大量工作,您实际上需要编写所有手动跟踪代码才能在 Objective-C 中足够高效。

最后,您最终会发现您需要一些自动代码编写机器 - 静态编译器 - 而这正是 ARC 所做的。你可以自己实现类似 ARC 的东西。但如果我是你,我只会使用编译器维护者已经存在的、健壮的、稳定的、设计良好的和支持的实现。

此外,如果你想开发苹果产品,不追随苹果并不是明智的行为。与其他平台持有者(例如微软)不同,苹果不太关心保持向后兼容性。如果他们认为某些东西不好,它最终会被弃用并删除 - 就像 Objective-C GC 一样。

关于cocoa - 非ARC下如何清零弱引用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10754827/

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