gpt4 book ai didi

iphone - 如何为iPhone中的应用程序定义集中计时器?

转载 作者:行者123 更新时间:2023-12-03 19:34:59 26 4
gpt4 key购买 nike

我需要以不同的时间间隔执行某些任务(许多任务)。我如何使用单个 NStimer 实例来实现它,因为单独的计时器会产生开销?

最佳答案

我正在做这件事。 在我的 appdelegate 中,我有一个用于计时器和线程的方法(为了简单起见,我删除了线程):

-(void)startupThreadsAndTimers{   
//updatetime
timer = [NSTimer scheduledTimerWithTimeInterval:(1)
target:self
selector:@selector(updateTime)
userInfo:nil
repeats:YES];
}

我有一个计时器触发的方法

-(void)updateTime{
[[NSNotificationCenter defaultCenter] postNotificationName: @"PULSE" object: nil];

}

在appdelgate类的“awakefromnib”方法中我有这个:

[self startupThreads];

现在,在需要订阅此内容(以更新时钟)的 View Controller 上的 veiwdidload 方法中,我订阅了通知中心:

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(updateTimeLeft) name:@"PULSE" object:nil];

我有一个名为“updateTimeLeft”的方法

这非常有效,但我稍后会重新审视它以使用线程来提高性能。

要以不同的时间间隔触发事件,您可以更改这些选择器来解析时间值,并让订阅 View Controller 使用模数来决定要做什么。

switch (timerValue % 15){
case 1:
[self someMethod];
break;
case 2:
[self someOtherMethod];
break;
}

希望这有帮助:)

关于iphone - 如何为iPhone中的应用程序定义集中计时器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6742213/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com