Ios 程序运行到超级删除行时是否会引发异常?
Ios 程序运行到超级删除行时是否会引发异常?,ios,objective-c,animation,uiview,Ios,Objective C,Animation,Uiview,removeFromSuperview是UIView的选择器。UIView的超类是UIResponder,因此如果程序运行到代码[super removeFromSuperview],则UIResponder不会识别选择器removeFromSuperview。所以我的问题是:它会抛出无法识别的异常吗 - (void)removeFromSuperview { [UIView animateWithDuration:0.35f delay:0.0 options:UIViewAni
removeFromSuperview
是UIView
的选择器。UIView的超类是UIResponder
,因此如果程序运行到代码[super removeFromSuperview]
,则UIResponder
不会识别选择器removeFromSuperview
。所以我的问题是:它会抛出无法识别的异常吗 - (void)removeFromSuperview
{
[UIView animateWithDuration:0.35f delay:0.0 options:UIViewAnimationOptionCurveEaseOut animations:^{
self.frame = afterFrame;
if (self.leftLeave) {
self.transform = CGAffineTransformMakeRotation(-M_1_PI / 1.5);
}else {
self.transform = CGAffineTransformMakeRotation(M_1_PI / 1.5);
}
} completion:^(BOOL finished) {
[super removeFromSuperview];
}];
}
我假设您是在
UIView
的子类中编写此代码的,因为这似乎是最可能的情况。您可能已经注意到,它不会抛出异常,因为super
是UIView
,而不是UIResponder
类层次结构是
UIResponder->UIView->MyView
,这可能不是您想要的正确方法。您可能会看到以下内容: