私は次のようにNSTimer
定義しています:
timer = [NSTimer scheduledTimerWithTimeInterval:30
target:self
selector:@selector(fooBar)
userInfo:nil
repeats:YES];
[[NSRunLoop mainRunLoop] addTimer:timer forMode:NSRunLoopCommonModes];
fooBar
この場合、バックグラウンド スレッドを使用してコールバック関数を呼び出します。しかし、チェックすると、常にメインスレッドで取得していますif ([NSThread mainThread])
。コールバック関数からスレッドをディスパッチする以外に方法はありますか?