関数がメインスレッド上でのみ実行されることを確認するにはどうすればよいですか? (UI要素を更新します)
このような関数は「悪い」と考えられますか?関数がメインスレッドのみで実行されていることを確認する
-(void)updateSomethingOnMainThread {
if (![[NSThread currentThread] isEqual:[NSThread mainThread]])
[self performSelectorOnMainThread:_cmd withObject:nil waitUntilDone:NO];
else {
// Do stuff on main thread
}
}
私は当初、私はこのようにそれを持っていた、第2の機能を持つ避けるために、このようにそれを書いた:
-(void)updateSomethingOnMainThread_real {
// Do stuff on main thread
}
-(void)updateSomethingOnMainThread {
[self performSelectorOnMainThread:@selector(updateSomethingOnMainThread_real) withObject:nil waitUntilDone:NO];
}
[循環メソッド呼び出しは許可されていますか?](0120-18753) – ughoavgfhw