[Cocoa/Objective-C] このサイトのタイマー ルーチン (現在の時間) を採用しました (そして、うまく機能します - ありがとうございます)。現在、ボタンに取り付けられています。私の質問は次のとおりです。アプリの起動時に(ボタンを使用せずに)開始するにはどうすればよいですか(他の言語では、アクションリスナーまたはタイマーをフォームに配置するだけです)...?
これについて助けてくれてありがとう!
[Cocoa/Objective-C] このサイトのタイマー ルーチン (現在の時間) を採用しました (そして、うまく機能します - ありがとうございます)。現在、ボタンに取り付けられています。私の質問は次のとおりです。アプリの起動時に(ボタンを使用せずに)開始するにはどうすればよいですか(他の言語では、アクションリスナーまたはタイマーをフォームに配置するだけです)...?
これについて助けてくれてありがとう!
アプリケーションデリゲートには、というメソッドがあります
- (void)applicationDidFinishLaunching:(UIApplication *)application
アプリの起動時にタイマーを開始する場所になると思います。
メソッドに入れます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