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