我想知道将一个选择器分配给未声明的animationDidStopSelector时会发生什么。
例如:
[UIView setAnimationDidStopSelector:@selector(doThis)];
我有这行代码。调用动画后,它应该调用方法,doThis,对吧?但如果我没有声明doThis或者说我忘了宣布doThis,我的应用程序会崩溃吗? 或者UIView会忽略它吗?感谢。
答案 0 :(得分:3)
如果动画有一个委托(setAnimationDelegate:
), if 该代表没有实现doThis
,它将会崩溃。
但是如果动画没有委托,它不会崩溃,因为没有人可以发送消息。什么都不会发生。
此外,以上所有假设您使用的是老式动画“块”,使用[UIView beginAnimations:nil context:nil]
构建动画并以[UIView commitAnimations]
结束动画。如果您使用animateWithDuration:delay:options:animations:completion:
及其朋友的现代形式的动画构造,则没有委托,也没有didStopSelector
;这方面的调用将被忽略,因为completion:
处理程序将履行该角色。