首先,我看到有很多关于“无法识别的选择器发送到实例”问题的问题。
我见过很少,但没有看到有关访问类别属性中定义的内容...
我在 UILabel 上有一个带有属性的类别。
定义了 getter 和 setter。
实际上,我在 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
任何帮助将不胜感激。
我不知道可能的问题...
谢谢你。
迈克尔。