まず第一に、「認識されないセレクターがインスタンスに送信される」問題について多くの質問があることを確認しました。
私はほとんど見たことがありませんが、カテゴリプロパティで定義されたものにアクセスすることについては何も見ていません...
UILabelにプロパティを持つカテゴリがあります。
ゲッターとセッターが定義されています。
実際、私は2つの異なるカテゴリ(2つの異なるクラス:UIButtonとUILabel)に同じプロパティを持っています。
問題は、UIButtonにはこのプロパティにアクセスできますが、UILabelにはアクセスできないことです。
UILabel(text)カテゴリのメソッド/プロパティにアクセスしようとすると、「-[UILabelテスト]:インスタンス0x4e539f0に送信された認識されないセレクター」例外がドロップされます。
両方のカテゴリファイルがインポートされます。
何が問題なのかわかりません。
ここにいくつかのコードがあります:
// UILabel+text.h
@interface UILabel (text)
- (void)test;
@end
// UILabel+text.m
@implementation UILabel (text)
- (void)test {
NSLog(@"test");
}
@end
// UIButton+text.h
@interface UIButton (text)
- (void)test;
@end
// UIButton+text.m
@implementation UIButton (text)
- (void)test {
NSLog(@"test");// works
}
@end
// Usage (in UIViewController class) - both elements are defined in XIB
[self.button test];// works
[self.label test];// exception
どんな助けでもありがたいです。
起こりうる問題の手がかりがありません...
ありがとうございました。
マイケル。