我想在我的ios App运行时一直执行一个功能。
我需要在委托中编写此函数的类是什么?
我很困惑因为如果我在viewContorller中声明了这个并且更改为其他viewController这个中断。或者有像
这样的功能 func locationManager(manager:CLLocationManager, didUpdateLocations locations:[AnyObject]) {
这是一直在运行吗?
谢谢!
答案 0 :(得分:0)
如果您专门提到didUpdateLocations,这是一种您不直接调用的方法,而是操作系统调用以在收到位置更新时向您提供位置更新。虽然通常建议您的位置代码由某个单独的单独处理以合并/封装所有位置逻辑,但如果您创建CLLocationManager并告诉它为startUpdatingLocations,那么操作系统将不断调用该方法**而无需您处理有计时器,循环等。
**当应用程序处于后台时,位置更新将停止,当应用程序返回到前台时,位置更新将恢复,而无需重新启动它们。这些可以经常每秒一次,但再次依赖于操作系统确定设备的位置并将这些更新提供给您。
如果您指的是其他任何不同的答案,但我怀疑您直接指的是位置更新。
答案 1 :(得分:-2)
我建议将该函数放在另一个文件中,并使用NSThread
- (void)createThread
{
[NSThread detachNewThreadSelector:@selector(startBackgroundJob) toTarget:self withObject:nil];
}
- (void)startBackgroundJob
{
[self performSelectorOnMainThread:@selector(monitorApp) withObject:nil waitUntilDone:NO];
}
- (void)monitorApp
{
}