objective-c - 为什么 UIAlertView dismissAnimated : work at all?

标签 objective-c xcode ios uialertview

我只是想使用以下调用关闭 UIAlertView:

[serverConnectionClosedAlertView dismissAnimated:YES];

我做了一些测试,一切正常。当我回到 Xcode 窗口时,我看到了警告,“UIAlertView 可能不会响应‘-dismissAnimated’。我查阅了文档,注意到这个方法确实没有在 UIAlertView 甚至 UIView 上定义。正确的调用应该是

[serverConnectionClosedAlertView dismissWithClickedButtonIndex:0 animated:YES];

所以,我想知道

  1. 为什么 Xcode 会建议原始方法名称(我按下 ESC 键以获取建议列表,然后只选择上面的方法;我猜是 Eclipse/Java 的老习惯),并且

  2. 为什么代码完全有效?它实际上确实关闭了 UIAlertView,没有任何崩溃或日志条目。

最佳答案

在之前的 SDK 版本中,它实际上被称为 dismissAnimated:。它已经被弃用或制作了一个私有(private) API 以支持 dismissWithClickedButtonIndex:animated:,但如果您调用它,它仍然可以工作。

关于objective-c - 为什么 UIAlertView dismissAnimated : work at all?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4870900/

相关文章:

ios - iPhone 应用程序不会将字符串添加到数组,仅限 64 位

ios - 向 uitabelviewcell 添加多个 uilabel 时无法正确设置布局

objective-c - 为什么图像不显示在 UIImageView 中?

ios - 在模拟器中测试多任务 iOS 9 功能

objective-c - 如何取消正在进行的撤消/重做操作?

ios - Xcode 模拟器不显示额外安装的 iOS 版本

xcode - 即使我的手指在节点之外,如何让节点旋转?

ios - 在具有转换单元格的 collectionView 上使用 indexPathForItemAtPoint

ios - 在 iOS 中调用 Paypal 时无法获取访问 token

ios - 在其他类中使用可变数组