UIView、MyViewのサブクラスがあります。UIView+simpleCategory という UIView のカテゴリもあります。
このカテゴリはメソッド doSomething を宣言します
@interface UIView (simpleCategory)
- (void) doSomething;
@end
UIView サブクラス MyView から doSomething メソッドを呼び出すのに問題があります。「セレクターが認識されません」というエラーが表示されます。サブクラスにそのスーパークラスのカテゴリメソッドを認識させるために何をする必要があるのか 疑問に思っていました.
UIView サブクラスのインスタンスで UIView カテゴリ メソッドを呼び出すと、問題が発生します。
MyView *view = [[MyView alloc] init];
[view doSomething]; // throws selector not found error here
どこかに #import がないのではないかと思っていますが、カテゴリとサブクラスの関係を理解したいと思います。
ソリューション ::
どうやら私の実装は問題ありませんでした。カテゴリをアプリ ターゲットに追加する必要がありました。これは、Project Navigator でカテゴリをクリックして行いました。次に、Utilities View (ウィンドウの右側からスライドして表示されるビュー) をクリックし、File Inspector メニューの [Target Membership] チェックボックスをオンにしました。必要な作業はこれだけでした。回答ありがとうございます。