更优雅的方式来处理 UIActionSheet 中的取消按钮单击?
Posted
技术标签:
【中文标题】更优雅的方式来处理 UIActionSheet 中的取消按钮单击?【英文标题】:More elegant way to handle the Cancel Button click from a UIActionSheet? 【发布时间】:2012-07-07 21:18:08 【问题描述】:我正在开发一个 ios 5.0 应用程序,我想知道是否有更“优雅”的方式来处理单击取消按钮。文档中似乎没有任何内容,所以我认为答案是否定的。
基本上我有一个 UIActionSheet,它目前有 2 个按钮和一个取消按钮。根据我在
中的代码,前两个按钮完全按照他们应该做的事情 -(void)actionSheet:(UIActionSheet *)actionsheet clickedButtonAtIndex:(NSInteger)buttonIndex
前两个按钮依赖于一些相同的变量,但根据点击的不同,它们会执行不同的操作。在上述方法中,这些变量在我的 switch 语句之外实例化,然后在案例内部执行。取消按钮不依赖任何这些变量(显然),因此为了避免所有实例化,我将所有这些代码包装在一个 if 语句中,用于测试取消按钮索引。
这不太理想。如果我向操作表添加新按钮,我必须记住更新 if 语句。代码本身通常看起来很混乱。我可以编写一个新方法来处理前两个按钮的单击逻辑,但如果有一种方法可以通过取消按钮简单地解除 ActionSheet 以防止调用 clickedButtonAtIndex 方法,那么我不想走那么远。
这就是我的问题:有没有办法在不调用该方法的情况下直接关闭 ActionSheet?
【问题讨论】:
【参考方案1】:嗯,你可以做点什么... 在你提到的方法中,首先要做的是:
if(buttonIndex == actionSheet.cancelButtonIndex)
return;
据我所知,这是你能做的最好的。
希望这会有所帮助。
问候,
乔治
【讨论】:
以上是关于更优雅的方式来处理 UIActionSheet 中的取消按钮单击?的主要内容,如果未能解决你的问题,请参考以下文章
是否有一种优雅的 Pythonic 方式来计算已处理的数据? [复制]