0

[Cocoa/Objective-C] 我从这个站点改编了一个计时器例程(针对当前时间)(效果很好 - 谢谢)。它当前附加到一个按钮。我的问题是:如何在我的应用程序启动时启动它(而不是使用按钮)(在其他语言中,我只需将动作侦听器或计时器放在表单中)......?

感谢您对此的任何帮助!

4

2 回答 2

7

在您的应用程序委托中,您会找到一个名为

- (void)applicationDidFinishLaunching:(UIApplication *)application 

我想这将是在应用程序启动时启动计时器的地方。

于 2009-12-12T17:40:25.613 回答
2

把它放在你的awakeFromNib方法中。这会在所有从您的 nib 反序列化的对象(如您的应用程序委托)上调用,但在所有对象都被反序列化和连接之前不会调用它(例如,您可以使用您的文本字段)。例如:

- (void)timerFired:(NSTimer*)timer
{
  NSLog(@"Timer completed!");
}

- (void)awakeFromNib
{
  [NSTimer scheduledTimerWithTimeInterval:30.0 target:self selector:@selector(timerFired:) userInfo:nil repeats:NO];
}

显然,在这个简单的示例中,计时器可以在applicationDidFinishLaunching:方法或awakeFromNib方法中创建,因为它不与任何其他序列化对象交互,但在您的情况下,听起来您需要该awakeFromNib方法。

于 2009-12-12T23:06:46.803 回答