MKMapView является внутренним многопоточным, то есть он будет отправлять такие задачи, как загрузка новых листов карты в другой поток.
Я задаюсь вопросом, почему основной поток «обрабатывает что-то»?Обработка событий взаимодействия с пользователем, включая события, связанные с манипулированием MKMapView
, обычно обрабатывается в главном потоке в приложениях iOS.Любая работа, которая может блокировать обработку событий взаимодействия с пользователем, должна отправляться в дополнительные потоки.Работа может быть тяжелым расчетом, или это может быть просто блокирующий вызов для загрузки сетевых данных.Другие потоки должны возвращать данные в основной поток, чтобы обновить интерфейс, такой как MKMapView
.