0

\我有一个视图控制器,它启动一个倒计时计时器并根据它更新一个按钮标签。问题是当用户离开视图并回来时我不想重新启动计时器o从暂停的时间继续。什么会是最好的激活方式吗?

使应用程序中的计时器委托并将通知发布到此视图控制器。由于其他视图控制器不需要它,因此它们不需要收听任何通知。问题是我必须确保计时器已运行到0 启用按钮操作系统,这意味着当再次加载视图时,我需要等待通知至少 1 秒以确保他的时间真的到了。问题是在此期间按钮标签上显示的内容。

如果视图控制器是一个标签栏项目,我不会有问题,但它是一个 pushv 视图控制器,所以当用户点击返回时它会被释放。

4

1 回答 1

1

只需创建一个单例对象来管理您的计时器。您可以从 appdelegate 创建它。您可以随时从该对象获取剩余时间(firedate - datenow)。因此,您无需处理通知。每秒发送一个通知也不是一个好主意,当它没有被分配时,你的视图不会使用它。当您的视图被分配/进入屏幕时,可以每秒询问该对象的剩余时间并更新他的标签或一些子视图等。您可以使用 NSTimer 对象轻松实现它。

您还可以在该单例对象中放置一个 bool 变量,以指示是否已达到 firedate。或检查剩余时间 < 1 。因此,您的视图在分配/显示时检查变量的值,然后您可以决定激活或停用您的按钮。

于 2012-08-03T09:13:57.947 回答