【问题标题】:How can I set a UILabel to change after a certain amount of time?如何设置 UILabel 在一定时间后更改?
【发布时间】:2014-11-11 12:48:39
【问题描述】:

我正在尝试每 24 小时更改一次 UILabel,我尝试使用本文中的方法:Changing a UILabel after a specific time 但我不知道如何节省时间,因此应用程序知道计时器已运行 24小时。我应该使用不同的方法吗?也许使用日期和日期更改来更改 UILabel?唯一的问题是,我不希望人们能够仅仅提前他们的时钟或更改他们的设备日期来查看 UILabel 的变化。我的目标是尝试引用当天的应用程序。请帮忙。

【问题讨论】:

  • 由于无论如何您都无法在设备上存储无限多天的报价,因此您最好的选择是将数据存储在服务器上。这样,您可以使用系统时间的变化作为检查更新的指示,并为用户提供与服务器的“当前”日期一致的报价,这样如果用户提前他们的时钟,它就不会那么重要了。

标签: ios objective-c time uilabel


【解决方案1】:

您可能正在寻找的是查询 ntp(网络时间协议)服务。

  1. 查询 NTP
  2. 保存结果(用户默认可能最简单)
  3. 设置计时器(您可以每小时检查一次)
  4. 在定时器触发时重新查询 NTP 并验证它确实已经过了 24 小时
  5. 更改标签

【讨论】:

  • 好吧,我只是想保留一个包含所有引号的文本文档,并且只是有一个计时器可以在一定时间后更改 UILabel。或者更好的是,我们不要专门谈论我的情况。即使在应用程序关闭后,我如何才能跟踪时间?我不认为 N​​STimer 是最好的选择,但我不知道记录时间的任何其他选择。有没有办法查看手机内部的时钟?
  • 定时器只是用来触发动作。您保存初始时间并测量与 NTP 的偏移量。无论应用程序是否运行,这将为您提供正确的时间。 scheduleTimerWithTimeInterval:invocation:repeats:
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-10-06
  • 2012-08-16
  • 1970-01-01
相关资源
最近更新 更多