草庐IT

ios - 当应用程序后台运行时,NSTimer 是否会触发?

我完全不明白,但我的应用程序中的NSTimer肯定在后台运行。我在计时器运行的方法中有一个NSLog,它在后台进行记录。它在装有iOS4.2.1的iPhone4上。我已经在Info.plist中声明了位置背景支持。我在这里和其他地方阅读了文档和许多讨论,这应该是不可能的。这是iOS错误吗?还是未记录的功能?我不想使用它并在不久的将来发现,例如随着iOS4.3的到来,Apple默默地“修复”了它并且该应用程序将无法运行。有人知道吗? 最佳答案 NSTimer将在主运行循环运行时触发。据我所知,Apple没有promise取消定时器或阻

ios - 如何更改 NSTimer 的计时?

我有以下代码:timer=[[NSTimerscheduledTimerWithTimeInterval:0.50target:selfselector:@selector(onTimer)userInfo:nilrepeats:YES]retain];-(void)onTimer{}每0.50秒调用一次OnTimer方法。但现在我想增加时间间隔。这意味着:OnTimercallsafter0.55OnTimercallsafter0.60OnTimercallsafter0.65OnTimercallsafter0.70OnTimercallsafter0.75&soon.有什么解决

ios - 使用 GCD 运行重复 NSTimer?

我想知道为什么当您在GCDblock中创建一个重复计时器时它不起作用?这很好用:-(void)viewDidLoad{[superviewDidLoad];[NSTimerscheduledTimerWithTimeInterval:1.0target:selfselector:@selector(runTimer)userInfo:nilrepeats:YES];}-(void)runTimer{NSLog(@"hi");}但这确实有效:dispatch_queue_tmyQueue;-(void)viewDidLoad{[superviewDidLoad];myQueue=disp

ios - NSTimer 与 CACurrentMediaTime()

因此,我正在玩我的第一个iOS游戏,并且正在为如何找到集成对象移动的最佳方式而苦苦挣扎。该游戏在很大程度上依赖于快速移动的物体和持续、快速的用户输入变化。因此,我试图让对象集成和约束求解器尽可能快速准确地运行(以尽量减少连续游戏循环调用之间的用户输入变化)。更具体地说,我不确定NSTimer类和CACurrentMediaTime()函数的功能。很难根据经验进行测试,因为我不确定哪个误差更大。例如,使用重复间隔为0.008(~2次更新/屏幕刷新)的NSTimer并在连续调用时调用CACurrentMediaTime(),我发现调用之间的时间间隔在0.0075-0.009之间变化。很难说

iphone - NSTimer、NSTask、NSThread 和 NSRunloop 之间的基本区别是什么?

NSTimer、NSTask、NSThread和NSRunloop之间有什么区别,是否有关于何时执行的指南使用它们中的每一个? 最佳答案 每个程序至少在一个线程中运行。您可以将每个线程视为一个独立的程序执行进程,每个线程都与其他线程并行运行。如果您有某种用户界面或其他代码需要监听事件(如网络端口),您需要一个运行循环。每个NSThread都会自动获得自己的运行循环,你很少需要直接关心它们。运行循环还负责创建和释放自动释放池。[编辑:有关自动释放池的更多讨论,请参阅评论。要记住的最重要的一点是新线程必须负责设置自动释放池。例如,使用d

ios - NSTimer 没有触发选择器

在带有ARC的ios5.0中,在我的rootviewcontroller中,我调用了应用委托(delegate)持有的安全管理器对象中的一个方法。在那种方法中,我如下设置定时器NSTimer*timer=[NSTimerscheduledTimerWithTimeInterval:5.0target:selfselector:@selector(updateModel:)userInfo:strrepeats:YES];[[NSRunLoopcurrentRunLoop]addTimer:timerforMode:NSRunLoopCommonModes];但是,这永远不会触发选择器,

ios - NSTimer timerWithTimeInterval : not working

在我的项目中实现它之前,我已经创建了一个带有计时器的测试应用程序。这是我第一次使用定时器。但问题是当我使用[NSTimertimerWithTimeInterval:target:selector:userInfo:repeats:];实现计时器时,它不工作。这是我的代码,界面:@interfaceuialertViewController:UIViewController{NSTimer*timer;}-(void)displayAlert;-(void)hideandview;@end实现:@implementationuialertViewController-(void)vie

iphone - 如何启动和停止 NSTimer?

我开发秒表应用程序。在我的应用程序中,有两个UIButtons,StartBtn和StopBtn,而且我还使用了NSTimer。现在,我想在用户单击StartBtn时启动NSTimer,并在您单击StopBtn时停止。我知道NSTimer被[MyTimerNameinvalidate];方法停止,但我不知道如何再次启动NSTimer? 最佳答案 NSTimer类使用起来有点笨拙;不是将创建/销毁与开始/停止分开,而是将它们整合在一起。换句话说,计时器一创建就启动,一被销毁就停止。因此,您需要使用NSTimer对象的存在作为标志来指示

ios - 如何立即触发 NSTimer?

我需要在我的应用程序启动时调用一个方法,然后每5秒调用一次相同的方法。我的代码非常简单://Callthemethodrightaway[selfupdatestuff:nil]//Setupatimersothemethodiscalledevery5secondstimer=[NSTimerscheduledTimerWithTimeInterval:5target:selfselector:@selector(updatestuff:)userInfo:nilrepeats:YES];是否有定时器选项,可以立即触发,然后每5秒触发一次? 最佳答案

iphone - 应用程序在后台时计划的 NSTimer?

当应用程序在后台运行时,人们如何处理预定的NSTimer?假设我每小时在我的应用程序中更新一些内容。updateTimer=[NSTimerscheduledTimerWithTimeInterval:60.0*60.0target:selfselector:@selector(updateStuff)userInfo:nilrepeats:YES];在后台时,这个计时器显然不会触发(?)。当用户返回应用程序时应该发生什么......?计时器是否仍在运行,时间相同?如果用户在一个多小时后回来会发生什么。它会在错过的所有时间触发,还是会等到下一次更新时间?我希望它做的是在应用程序进入前台