NSTimer
サブスレッドでを起動しようとしています。私のコードは基本的に次のようになります。
-(void) handleTimer:(NSTimer *)theTimer {
NSLog(@"timer fired");
}
-(void) startMyThread {
// If I put timer in here, right before I start my new thread, it fires.
// [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(handleTimer:) userInfo:nil repeats:NO];
[NSThread detachNewThreadSelector:@selector(run) toTarget:self withObject:nil];
}
// This method is called from inside the new thread
-(void) playNote:(Note *)theNote withTemplate:(NSString *)theTemplate X:(int)x andY:(int)y {
NSLog(@"before timer");
// The timer doesn't fire in here. (But the print statements do.)
[NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(handleTimer:) userInfo:nil repeats:NO];
NSLog(@"after timer");
}
私は本当に(read:need to?)サブスレッドでタイマーを起動したいと思っています。これは、ノートの再生を停止するために使用されるためです(そして、すべてのノートの再生はサブスレッドで行われる必要があります)。
サブスレッドでの実行方法に何かが欠けているに違いありませんNSTimer
...
助けてくれてありがとう!