2013-03-12 17 views
6

Xcode pokazuje wątki w Nawigatorze debugowania.Xcode Wątek 1: Czy zawsze jest to główny wątek interfejsu użytkownika?

są policzone: Thread 1, Thread 2 itp

Zauważyłem, że zawsze jestem w wątku 1. Czy jest to prawidłowe założenie, że jest to główny wątek UI? Używam libs/SDK jak Facebook i AFNetworking mają wywołania zwrotne i delegatów. Ale bezpieczeństwo nici nie zawsze jest odpowiednio udokumentowane.

+1

Lepiej, bo w przeciwnym razie większość aplikacji spadłaby w płomieniach, gdy próbowali użyć UIKit z wątku tła. – CodaFi

Odpowiedz

7

Nie pamiętam, które, ale w jednym z wideo WWDC (od 2011 roku, myślę), usłyszałem inżyniera, że ​​wewnętrzni UIKit zakładają, że wątek 1 jest interfejsem użytkownika.

Tak, to nie jest "po prostu" najlepsza praktyka, myślę, że istnieją konkretne techniczne zależności.

Jeśli chodzi o szczegółową dokumentację, nie znajduję łatwo "oficjalnego" oświadczenia; ale myślę, że to dlatego, że jest jeszcze bardziej fundamentalny. Na przykład, ten rodzaj swobodnej wzmianki o roli główny wątek jest wszędzie (wzięte z the iOS App Programming Guide (np iOS 101)

Główny wątek jest, gdy aplikacja obsługuje dotykowe wydarzenia i inne dane wprowadzone przez użytkownika.

Powiązane problemy