我发现很难相信某个类没有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文件中。我想这会以不同的方式解决污染问题。
答案 0 :(得分:0)
您可以在.m Class中实现类别。