В документации для NSApplicationMain написано:
Создает приложение, загружает основной файл пера из основного пакета приложения и запускает приложение.Вы должны вызывать эту функцию из основного потока вашего приложения [...].
«Основной поток», очевидно, относится к первому потоку программы, с которого начинается main(argc, argv)
.Быстрый просмотр документации NSThread показывает + (BOOL)isMainThread
, который можно использовать, чтобы определить, является ли текущий поток "основным" или нет.Я провел несколько тестов: этот метод работает независимо от того, был ли вызван NSApplicationMain
.
Мой вопрос состоит из двух (несколько связанных) частей:
- Что такого особенного восновной поток для
NSApplicationMain
? - Как Какао определяет основной поток в первую очередь?