atr*_*eat 4 cocoa objective-c ios
我有UIView,MyView的子类.我在UIView上也有一个名为UIView + simpleCategory的类别.
此类别声明了一个doSomething方法
@interface UIView (simpleCategory)
- (void) doSomething;
@end
Run Code Online (Sandbox Code Playgroud)
我在从UIView子类MyView调用doSomething方法时遇到问题.我收到"选择器无法识别"错误.我想知道我需要做些什么来让子类识别它的超类的类别方法.
在我的UIView子类的实例上调用UIView类别方法时出现问题:
MyView *view = [[MyView alloc] init];
[view doSomething]; // throws selector not found error here
Run Code Online (Sandbox Code Playgroud)
我想知道我是否在某个地方错过了#import,但我想了解Category和Subclasses之间的关系.
解决方案 ::
显然我的实施很好.我只需要将类别添加到应用目标.我通过单击Project Navigator中的类别来完成此操作.然后我单击Utilities View(从窗口右侧滑出的视图)并选中File Inspector菜单中的"Target Membership"复选框.这就是所有需要做的事情.谢谢大家的回复.
您的项目正在查找声明UIView类别的头文件 - 否则您将收到编译时警告.
但在运行时,它没有找到类别方法.检查您的UIView类别实现文件以查看它进入的目标.我打赌它不包含在你的主要目标中.
| 归档时间: |
|
| 查看次数: |
1167 次 |
| 最近记录: |