【问题标题】:Displaying NSString in a label every n minutes每 n 分钟在标签中显示 NSString
【发布时间】:2012-05-06 02:25:02
【问题描述】:

我有一个标签和一个由 10 个字符串值组成的数组。我知道如何在该标签中显示文本。但是现在,每 1 分钟我想显示从该数组到标签的每个字符串.任何想法如何做到这一点?

【问题讨论】:

  • 以 1 分钟间隔使用 NSTimer
  • 我可以使用计时器,但我查看了一些文档,当设备被锁定或某些特殊情况时,它们会过期。注意:我现在已经为我的应用程序添加了定位服务。
  • 不是 Xcode 问题。重新标记。我需要将此注释放在功能键上。

标签: iphone ios sleep


【解决方案1】:
  1. 在你的类中添加一个变量来保存当前字符串的索引
  2. 编写一个增加索引并使用下一个字符串更新标签的方法
  3. 创建一个间隔 = 60 秒的 NSTimer 以重复调用此方法

更新

根据您的 cmets,我猜您要更新的是位置信息?一些参考资料:

【讨论】:

  • 我可以使用计时器,但我查看了一些文档,当设备被锁定或某些特殊情况时,它们会过期。注意:我现在已经为我的应用程序添加了定位服务。
  • 那么,您是否尝试刷新标签上的位置信息?在我的回答中添加了一些参考资料。
  • 不完全是。我要去不同区域的定位服务。我在我的应用程序中添加了定位服务,以便它支持前台和后台执行。
  • 为什么即使应用在后台,你也要更新标签?在应用程序再次进入前台之前,用户无法看到更改 - 我认为您现在可以更新标签。
【解决方案2】:

使用NSTimer

NSTimer *timer = [NSTimer scheduledTimerWithTimeInterval:60.0 target:self selector:@selector(changeText:) userInfo:nil repeats:YES];

如果要停止计时器,请记住使用[timer invalidate],否则如果目标已被释放,您将崩溃。

【讨论】:

  • 我可以使用计时器,但我查看了一些文档,说明当设备被锁定或某些特殊情况时它们会过期。注意:我现在已经为我的应用程序添加了定位服务。
  • 在后台时,您不应执行与 UI 相关的操作。 HIG对此非常清楚。您能否更详细地解释一下为什么需要后台服务?
【解决方案3】:

使用 NSTimer 间隔 60 秒,编写一个方法从数组中获取文本并显示在标签中。

【讨论】:

  • 我可以使用计时器,但我查看了一些文档,说明当设备被锁定或某些特殊情况时它们会过期。注意:我现在已经为我的应用程序添加了定位服务。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-01-11
  • 1970-01-01
  • 1970-01-01
  • 2016-03-18
  • 2019-10-20
相关资源
最近更新 更多