我有一个UIView继承了该- initWithFrame:方法的子类.但是,我不希望在我的子类上调用该方法.有没有办法在我的子类上"删除"该方法?
不要实现它,也不要打电话[super initWithFrame:aRect].只需调用doesNotRecognizeSelector:与_cmd参数:
- (id)initWithFrame:(CGRect)aRect
{
[self doesNotRecognizeSelector:_cmd];
}
Run Code Online (Sandbox Code Playgroud)
如果方法没有返回void,您将收到编译器的警告:
控制到达非空函数的结束.
要"删除"此警告,请添加return self;(在本例中)作为使编译器满意的最后一行.它永远不会在运行时到达,因为doesNotRecognizeSelector:会引发NSInvalidArgumentException异常.
| 归档时间: |
|
| 查看次数: |
118 次 |
| 最近记录: |