对类对象使用 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/