「iOS、このメソッドをa.s.a.p.で実行しますが、この実行ループの繰り返しではありません。次の中で最も早いですが、この中にはありません。ありがとう」メソッドを呼び出す方法a.s.a.p.しかし、次の実行ループの反復で最も早い時期に?
は今、私はいつもこのようにそれをやっている:-doSomeOtherThings
は常に -doSomethingInNextRunLoop
前に実行されることを前提に
[self performSelector:@selector(doSomethingInNextRunLoop) withObject:nil afterDelay:0];
[self doSomeOtherThings];
。
ドキュメントは言う:0の遅延を指定
は必ずしもセレクタがすぐに実行 されることはありません。セレクタはスレッドの 実行ループに依然としてキューイングされ、できるだけ早く実行されます。
したがって、基本的には-doSomeOtherThings
前に実行する-doSomethingInNextRunLoop
を引き起こし、私はダイレクトメッセージを送信したかのようにメソッドが即座に呼び出されることが起こりことができますか?
どうすればそれをa.s.a.p.という名前にすることができますか。しかし、これと同じ実行ループの繰り返しは決してありませんか?
言葉を明確にする:実行ループとは、メインスレッドと、スレッドが新しいイベントのために再び準備ができるまで、すべてのメソッドが返さなければならない反復を意味します。
素晴らしい!これを容易にするためのカテゴリが理にかなっています。 – openfrog