iphone - 如何确定哪个 UIAlertView 调用了委托(delegate)。

标签 iphone objective-c ios xcode

在 alertView 委托(delegate)中,有一个方法:

-(void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex;

我的问题是,我怎样才能找到哪个 AlertView 调用了这个委托(delegate)。

例如,我有几个都使用委托(delegate)的警报 View ,但根据调用此方法的警报 View ,我想为 buttonIndex 设置不同的操作。

最佳答案

传递到方法中的“alertView”对象是方法中使用的实际警报。最直接的方法是在该方法中提供查看 alertView 对象的逻辑(也许查看名称或标签?这取决于您),然后为每个对象提供不同的操作。

-(void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
  if (alertView.tag == 1)
  {
    // do something
  }
  else if (alertView.tag == 2)
  {
    // do something else
  }

  // continue for each alertView

}

关于iphone - 如何确定哪个 UIAlertView 调用了委托(delegate)。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7678341/

相关文章:

iphone - UITabBarController 中的 UINavigationController 存在 View 生命周期问题

php - JSON -> Xcode 字符串格式

ios - 在切换 View 时清除文本字段和 TextView View 的数据

ios - 如何在 Swift 中更改一周的第一天

ios - 如何在 iOS(增强现实应用程序)中的实时预览相机上制作 OpenGL ES 的屏幕截图?

iphone - 将 UIImageView 从 UIScrollView 拖到另一个 View

javascript - Titanium mvc - 调用函数并等待结果

iphone - 使用 Objective C(音频队列服务)从 FFMPeg 获取准确时间

ios - 不断增长的 UIWebView 导致 "Received memory warning."并最终使应用程序崩溃 "Terminated due to Memory Error"

ios - 应用内购买 swift