0

我正在使用一个 NSTimer,它在多项选择测验应用程序中运行时间从 15 秒开始。该应用程序有两种可能的结果。时间可能会减少到零,并显示不正确的答案视图,在这种情况下计时器无效/停止,其时间的静态整数将重置为 15 以用于下一个问题。

但是,另一个可能的结果是在时间耗尽之前选择了一个答案,在这种情况下,我使用方法 viewWillDisappear 来触发进一步的操作。我的问题是我无法通过此方法重置时间的静态整数,因为它是在上面的方法中声明的。我尝试在 .h 文件中声明它,但存在问题,因为整数是静态的。

我想知道是否有一个布尔表达式来评估当前视图是否已经消失,因为这样我可以将所有内容保持在同一个方法中并能够重置静态整数的时间。

4

1 回答 1

0

首先,如果您的计时器变量是该类的本地变量,则不必将其声明为static. 其次,您有两个机会从 viewController:viewWillDisappearviewDidDisappear. 最后,如果您需要知道视图属性是否已更改,可以通过 KVO 方法进行。您会遇到的问题是,如果视图真的消失了,那么当您引用它时,视图对象可能已经吐了。如果没有更多信息,就无法判断您真正遇到了什么问题。

此外,一旦您使计时器无效,您就不能再使用它。您必须创建一个新计时器。

于 2012-09-16T04:57:42.520 回答