Xcodeはデバッグナビゲータでスレッドを表示します。番号が付けられているXcodeスレッド1:常にメインのUIスレッドですか?
:私は、スレッド1でいつもだと気づくThread 1
、Thread 2
を、など
メインUIスレッドであることを正しい仮定ですか? Facebook
とAFNetworking
のようなlibs/SDKをコールバックとデリゲートを使用しています。 しかし、スレッドの安全性が必ずしも適切に文書化されているとは限りません。
Xcodeはデバッグナビゲータでスレッドを表示します。番号が付けられているXcodeスレッド1:常にメインのUIスレッドですか?
:私は、スレッド1でいつもだと気づくThread 1
、Thread 2
を、など
メインUIスレッドであることを正しい仮定ですか? Facebook
とAFNetworking
のようなlibs/SDKをコールバックとデリゲートを使用しています。 しかし、スレッドの安全性が必ずしも適切に文書化されているとは限りません。
WWDCビデオのいずれか(2011年以降)には、UIKit内部がスレッド1がUIであると仮定しているとのエンジニアの言葉を聞いたことがあります。
はい、「単純な」ベストプラクティスではなく、具体的な技術的な依存関係があると思います。
具体的な文書の限り、私は容易に「公式な」声明を見つけることはできません。しかし、私はそれがそれよりも基本的なものだからだと思います。たとえば、メインスレッドの役割のカジュアルな言及のこの種は、すべてのthe iOS App Programming Guideから取られた場所(上(例えばiOSの101)
あなたのアプリケーションがタッチイベントや他のユーザーの入力を処理する場所、メインスレッドがあるである。
それ以外の場合は、バックグラウンドスレッドからUIKitを使用しようとすると、アプリの大半が炎上してしまいます。 – CodaFi