有没有办法让baseClass声明受保护的变量而不会污染.h文件?

时间:2013-04-30 08:54:52

标签: objective-c oop inheritance superclass

我发现很难相信某个类没有straightforward方法在.m文件中声明其受保护的属性(以避免使用只有子类需要的变量来污染.h文件知道... ..

在代码中表达,我想要完成这样的事情:

// SuperClass.h
NOTHING!

// SuperClass.m
@interface SuperClass
@property (nonatomic, retain) variable;
@end

// SubClass.m
// do something with variable

更新:这种情况发生在UIGestureRecognizer中..请参阅subclassing notes

  

您可以创建一个识别a的UIGestureRecognizer的子类   独特的手势 - 例如,“复选标记”手势。如果你是   要创建这样一个具体的手势识别器,一定要导入   UIGestureRecognizerSubclass.h头文件。这个标题声明了   子类必须覆盖,调用的所有方法和属性,   或重置。

来自Carl Veazey:基本上我的想法是,子类应该知道的所有属性/方法都封装在一个单独的.h文件中。我想这会以不同的方式解决污染问题。

1 个答案:

答案 0 :(得分:0)

您可以在.m Class中实现类别。