2014-09-03 61 views
-4

我希望在我的ios应用程序正在运行时执行一项功能。如何在ios应用程序运行时运行一个函数?

什么是我需要写这个功能,在委托类?

我很困惑,因为如果我宣布这viewContorller并切换到其他的viewController此休息。或者有像

func locationManager(manager:CLLocationManager, didUpdateLocations locations:[AnyObject]) { 

这是所有的时间运行?

谢谢!

+0

你具体指didUpdateLocations,或任何一般的方法? – Mike 2014-09-03 20:07:11

+0

一般的工作方式,像didUpdateLocations,所有的时间和不断 – user3745888 2014-09-03 20:32:54

回答

-2

我建议把函数在另一个文件中,并使用NSThread

- (void)createThread 
{ 
    [NSThread detachNewThreadSelector:@selector(startBackgroundJob) toTarget:self withObject:nil]; 
} 

- (void)startBackgroundJob 
{ 
    [self performSelectorOnMainThread:@selector(monitorApp) withObject:nil waitUntilDone:NO]; 
} 

- (void)monitorApp 
{ 

} 
0

如果你具体指的didUpdateLocations,这是你不直接调用方法,而是调用OS随时为您提供位置更新。虽然它通常建议您的位置代码是由一些单处理的地方,以巩固/封装所有位置的逻辑,如果你创建一个CLLocationManager,并告诉它startUpdatingLocations,该方法将不断呼吁**由操作系统,您无需处理用定时器,循环等

**当应用程序被转到后台位置更新将停止,而当应用程序又回到前台位置更新将恢复没有你需要重新启动它们。这些数据每秒钟可以达到一次,但再次依靠操作系统来确定设备的位置并将这些更新发送给您。

如果你指的是别的这是一个不同的答案,但我怀疑你是直接引用位置更新。

+0

对不起,我不是指位置更新。所以答案是什么?谢谢! – user3745888 2014-09-03 20:43:48

+0

答案很大程度上取决于你想要“一直”或“不断”做什么,而且很可能(在某些情况下)你不应该那样做。 – Mike 2014-09-03 20:45:52

+0

例如我想检查设备中可用的内存/存储,并显示给用户什么时候低,我有检查存储的功能,但我不知道我是否应该在一个线程中使用它。谢谢! – user3745888 2014-09-03 21:06:36

相关问题