I'm finding it hard to believe that there isn't a straightforward way for a class to declare its protected properties in the .m file (to avoid polluting the .h file with variables that only subclasses need know about)..
Expressed in code, I want accomplish something like this:
// SuperClass.h
NOTHING!
// SuperClass.m
@interface SuperClass
@property (nonatomic, retain) variable;
@end
// SubClass.m
// do something with variable
update: this kind of happens in UIGestureRecognizer.. see the subclassing notes:
You may create a subclass that UIGestureRecognizer that recognizes a distinctive gesture—for example, a “check mark” gesture. If you are going to create such a concrete gesture recognizer, be sure to import the UIGestureRecognizerSubclass.h header file. This header declares all the methods and properties a subclass must either override, call, or reset.
From Carl Veazey: basically the idea is that all properties/methods that the subclass should be aware of are encapsulated in a seperate .h file.. I guess that addresses the pollution problem in a different way.