0

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

用代码表示,我想完成这样的事情:

// SuperClass.h
NOTHING!

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

// SubClass.m
// do something with variable

更新:这种情况发生在 UIGestureRecognizer 中。请参阅子类化注释

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

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

4

1 回答 1

0

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

于 2013-04-30T08:58:35.787 回答