2013-03-12 13 views
6

Xcodeはデバッグナビゲータでスレッドを表示します。番号が付けられているXcodeスレッド1:常にメインのUIスレッドですか?

:私は、スレッド1でいつもだと気づくThread 1Thread 2を、など

メインUIスレッドであることを正しい仮定ですか? FacebookAFNetworkingのようなlibs/SDKをコールバックとデリゲートを使用しています。 しかし、スレッドの安全性が必ずしも適切に文書化されているとは限りません。

+1

それ以外の場合は、バックグラウンドスレッドからUIKitを使用しようとすると、アプリの大半が炎上してしまいます。 – CodaFi

答えて

7

WWDCビデオのいずれか(2011年以降)には、UIKit内部がスレッド1がUIであると仮定しているとのエンジニアの言葉を聞いたことがあります。

はい、「単純な」ベストプラクティスではなく、具体的な技術的な依存関係があると思います。

具体的な文書の限り、私は容易に「公式な」声明を見つけることはできません。しかし、私はそれがそれよりも基本的なものだからだと思います。たとえば、メインスレッドの役割のカジュアルな言及のこの種は、すべてのthe iOS App Programming Guideから取られた場所(上(例えばiOSの101)

あなたのアプリケーションがタッチイベントや他のユーザーの入力を処理する場所、メインスレッドがあるである。

関連する問題