クラスが保護されたプロパティを.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 ファイルにカプセル化されているという考えです..それは別の方法で汚染の問題に対処していると思います.