问题是我看不到使用关联对象与使用 getter/setter 方法在类别实现文件中定义的静态对象的好处。
我正在考虑在类别的头文件中定义 getter 和 setter。像这样:
@interface NSObject (test_static)
- (id)getStaticObject;
- (void)setStaticObject:(id)a_static;
@end
然后在实现文件中声明一个静态变量并实现getter/setter方法,如下所示:
static id test;
@implementation NSObject (test_static)
- (id)getStaticObject
{
return test;
}
- (void)setStaticObject:(id)a_static
{
test = a_static;
}
为什么我不应该使用这种方法而使用关联对象呢?
好吧,我想我不明白属性是如何工作的,以及它们是如何解决脆弱的基类问题的。可能有关系...