gpt4 book ai didi

iphone - UIAlertViewDelegate 方法 didDismissWithButtonIndex 在手机 sleep /锁定时被调用

转载 作者:行者123 更新时间:2023-12-03 21:13:31 25 4
gpt4 key购买 nike

我有一个 UIAlertView,它的 didDismissWithButtonIndex 委托(delegate)方法调用会弹出 View Controller (同一类,它是 AlertView 委托(delegate)和 View Controller )以使用户返回到上一个屏幕。问题是,当您在[警报显示]之前锁定手机时;被调用时,有东西在手机锁定时正在调用 didDismissWithButtonIndex。由于对此的响应是弹出 View Controller ,从而释放并释放它,因此我在回调上崩溃了。

是什么原因导致按下虚拟按钮?看起来像是一个框架错误,但我讨厌得出这个结论。我绝对不会点击按钮,因为我在代码显示之前点击了断点。然后我就 Handlebars 机锁了。然后我继续。我看到它执行显示,返回到事件循环,然后,当手机仍处于锁定状态时,在 didDismissWithButtonIndex 中命中断点。有一些关于类似虚假代表调用的互联网/论坛帖子,但没有具体答案。

这是在模拟器和设备上,操作系统 2.2 和操作系统 3.0。我假设我错过了一些东西,但是什么呢?

更新:是的,我创建了一个只有两个 View Controller 的简单项目,当第二个 View Controller 显示时,它会创建警报并显示它。然后我在委托(delegate)方法中使用 NSLog,当手机锁定时,它会在锁定时触发一次,然后在解锁并单击按钮时再次触发...2 条日志消息。但未锁定时,只有一个。

我想我会提出一个问题,但很明显,我已经生存了这么久,没有人提示。 :-) 我将尝试通过在 willResignActive/didBecomeActive 通知到达时设置 isActive 标志值来解决这个问题,并且如果应用程序未处于事件状态,则跳过委托(delegate)正文。

更新 我在 7 月发布此内容后继续进行,并为此问题创建了雷达 7097363。没有任何回应。

该解决方法在实践中效果很好,在处理委托(delegate)时检查事件状态,并在应用程序处于非事件状态时跳过该操作。

最佳答案

我也遇到了完全相同的问题。

当设备被锁定时,始终会调用alertView委托(delegate)方法didDismissWithButtonIndex,并将按钮索引值设置为0(该值与cancelButtonIndex的值无关)。

当按钮索引为 0 时,我通过在委托(delegate)方法中不执行任何操作来解决此问题。这在您的代码中可能是不可能的。

关于iphone - UIAlertViewDelegate 方法 didDismissWithButtonIndex 在手机 sleep /锁定时被调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1190999/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com