2012-07-07 83 views
0

我正在使用iOS 5.0应用程序,我想知道是否有更“优雅”的方式来处理点击取消按钮。在文档中似乎没有任何内容,所以我认为答案是“否”。从UIActionSheet中处理取消按钮的更优雅方式?

基本上我有一个UIActionSheet,目前有2个按钮和取消按钮。前两个按钮做他们应该正是基于我的代码做

-(void)actionSheet:(UIActionSheet *)actionsheet clickedButtonAtIndex:(NSInteger)buttonIndex 

前两个按钮依赖于某些相同的变数,但是,这取决于被点击,他们瓶坯不同的动作。这些变量在上述方法的switch语句之外被实例化,然后在case内部作用。取消按钮并不依赖任何这些变量(显然),所以为了避免所有的实例化,我把所有这些代码包装在if语句中,以测试Cancel按钮索引。

这并不理想。如果我将新按钮添加到操作表中,我必须记住更新if语句。代码本身看起来总是很混乱。我可以编写一个新的方法来处理前两个按钮的点击逻辑,但是如果有一种方法可以通过取消按钮简单地关闭ActionSheet来阻止clickedButtonAtIndex方法被调用,那么这种方法不会太过分。

所以这是我的问题:有没有办法在没有调用该方法的情况下关闭ActionSheet?

回答

0

嘛,有什么你可以做... 在你所提到的方法,第一件事做到这一点:

if(buttonIndex == actionSheet.cancelButtonIndex) 
    return; 

据我知道这是你能做的最好的。

希望这会有所帮助。

问候,

乔治