Interface Builder上的一个事件的多个动作?

时间:2010-07-21 15:07:01

标签: iphone interface-builder

在我的iphone应用程序中,一个事件(在UIButton中修饰)连接到不同类中的三个动作。第一个动作创建一个游戏对象,第二个动作推动一个新的视图控制器,第三个动作在推动的视图控制器中触发一个方法。

在界面构建器上,我按照上述顺序将这些操作连接到事件,但是当我按下按钮时,应用程序有时会崩溃。

是否有人知道我在IB上连接动作的顺序是否会在我的设备和其他人的运行时保持?

1 个答案:

答案 0 :(得分:1)

我猜测调用动作的顺序不能保证与你在IB中连接动作的顺序相同。因此,您的应用可能会在创建视图控制器之前尝试配置视图控制器。您可以通过在每个操作方法中添加NSLog语句来验证调用顺序。

即使按IB顺序调用操作,这也是代码维护的噩梦;想象一下,稍后再回来在你的UIButton中插入一个新动作,并且需要记住你最初连接它们的顺序。

解决方案:要强制执行订单,请创建一个IBAction方法,以所需顺序调用其他三种方法。