gpt4 book ai didi

ios - 在类别中使用关联引用

转载 作者:行者123 更新时间:2023-11-29 13:19:00 24 4
gpt4 key购买 nike

虽然使用关联引用似乎是最广泛使用的伪造类别变量的方法,但我还是忍不住将其视为一种 hack。我可能错了。因此这个问题。所以,我知道 Apple 对许多框架类使用类别,并且他们在 3.1 之前(添加关联引用时)就这样做了。这让我想知道,他们是以不同的方式做的吗? Apple 推荐以这种方式使用关联引用吗? (有任何文档支持这个吗?)从设计的角度来看,向类别添加存储是要避免的事情吗?

最佳答案

关联对象不是 hack,因为它们是在 "modern" runtime 中作为标准函数提供给我们的.

你是对的,关联对象在“现代”运行时之前没有实现,但是 Apple 没有用到它们。如果他们希望向类中添加变量,则可以在主类中结合显式 setter/getter/internal iVar(你会注意到这一点,尤其是对于像 NSSplitView 这样的旧 Cocoa 类)(因为为什么你需要如果您拥有框架,是否使用关联对象?)Apple 使用类别是将相似功能组合在一起的旧方法,类似于语言级别 #pragma mark -

关于ios - 在类别中使用关联引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14856125/

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