これの違いは何ですか:
[[NSOperationQueue mainQueue] addOperationWithBlock:^{
[self doSomthing:object];
}];
この:
[self performSelectorOnMainThread:@selector(doSomething:) withObject:object waitUntilDone:NO]
これの違いは何ですか:
[[NSOperationQueue mainQueue] addOperationWithBlock:^{
[self doSomthing:object];
}];
この:
[self performSelectorOnMainThread:@selector(doSomething:) withObject:object waitUntilDone:NO]
[self performSelectorOnMainThread:@selector(doSomething:)
withObject:object
waitUntilDone:NO]
呼び出されたときにセレクターを実行します。バックグラウンド スレッドから UI に影響を与えたい場合は、これを使用する必要があります。あなたが言うとYES
、waitUntilDone
メソッドが完了するまでスレッドをブロックします。
mainQueue
そのブロックをメインスレッドの操作キューに追加しますが、いつ実行されるかは保証されません。そのキューには、まだ実行を待っている他の項目がある可能性があります。