如何在ios应用程序运行时运行一个功能?

时间:2014-09-03 19:38:51

标签: ios objective-c xcode swift

我想在我的ios App运行时一直执行一个功能。

我需要在委托中编写此函数的类是什么?

我很困惑因为如果我在viewContorller中声明了这个并且更改为其他viewController这个中断。或者有像

这样的功能
 func locationManager(manager:CLLocationManager, didUpdateLocations locations:[AnyObject]) {

这是一直在运行吗?

谢谢!

2 个答案:

答案 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
{

}