почему задачи, связанные с пользовательским интерфейсом в iOS, должны выполняться в основном потоке?

#ios #multithreading

#iOS #многопоточность

Вопрос:

Как я узнал, в iOS основная очередь является единственным кандидатом из трех (main_dispatch_queue, global_dispatch_queue, serial_dispatch_queue) для выполнения задач, связанных с пользовательским интерфейсом, в GCD. Я хотел бы знать, почему это так.

Это может быть более общим вопросом, чем специфичным для iOS. Но предпочитаю ответ в контексте iOS.

Ответ №1:

Найден ответ.

В iOS цикл событий выполняется в основном потоке.

Внутри основного метода main.m UIApplicationMain() устанавливает основной цикл событий.

https://developer.apple.com/library/ios/documentation/general/conceptual/Devpedia-CocoaApp/MainEventLoop.html