ios - 对类对象使用 objc_setAssociatedObject 是否正确?

标签 ios objective-c class static static-variables

对类对象使用 objc_setAssociatedObject 是否正确?

我们经常用这样的静态变量来模拟类变量: Objective C Static Class Level variables 但是,我们可以使用关联对象作为替代方案吗?

objc_setAssociatedObject([self class], &STRING_KEY, myString, OBJC_ASSOCIATION_RETAIN);

最佳答案

是的,类对象是一个成熟的对象,因此您可以对它做任何您可以对常规对象做的事情。

但是,使用全局变量更清晰、更简单。

附注将它与 [self class] 相关联与使用全局变量不同,因为 [self class] 为您提供了当前对象的实际类,它可能会有所不同此方法由子类继承。而对于全局变量,它始终是相同的变量。

关于ios - 对类对象使用 objc_setAssociatedObject 是否正确?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15609149/

相关文章:

iphone - 如何处理和检测iPhone中的tableviewcell的多个按钮

iPhone VoiceOver 辅助功能设置导致视频录制崩溃

php - 有没有正确的方法来处理类里面的数据库连接?

php - 类扩展或接口(interface)如何工作?

ios - native 链接错误 : 1 duplicate symbol for architecture x86_64

ios - Xcode/Swift Scrollview 布局太宽

objective-c - UIActivityIndi​​cator 和 GCD/线程

ios - iOS 上有 Web 服务客户端代码生成器吗?

objective-c - Encoding ™ £ 用于 JSON - 使用 objective-c

Python:如何使用不同的基类 rebase 或动态替换类