По вашему вопросу это звучит так, как будто вы привыкли к процедурному программированию.Например, в утилите командной строки C у вас есть функция main()
, которая вызывается во время запуска.Main вызывает другие функции для выполнения настройки, затем может иметь цикл, который выполняет пошаговую работу, которую он должен выполнить, а затем либо выполняет цикл, ожидая ввода от пользователя, либо возвращает, если это утилита "все готово".
Приложения для большинства (всех?) ОС на основе графического интерфейса не работают таким образом.Они основаны на событиях и обычно используют объектно-ориентированный дизайн.Вы должны прочитать о разработке, управляемой событиями.Пока вы его не изучите, вы будете очень сбиты с толку и не сможете сойти с толку.
Вот краткое введение в концепции, но это гораздо более глубокая тема, чем мыможно описать в простом посте:
В объектно-ориентированной, управляемой событиями программе вы создаете объекты, у которых есть методы (функции), которые реагируют на происходящие события.Ваша программа определяет набор начальных объектов, а затем эти объекты ждут, когда что-то произойдет.
Метод viewDidLoad()
является примером метода, который вызывается, когда что-то происходит.Он вызывается, когда создается представление контроллера (объекта, который управляет видом).Это дает вам возможность выполнить однократную настройку, чтобы пользователь мог «делать что-то».Ваша функция viewDidLoad () выполняет эту однократную настройку, а затем возвращает.
Затем управление возвращается в систему, и ваше приложение просто ждет повторного вызова.
Вы также можете добавить методы, которые реагируют на нажатия пользователем кнопок, скольжения, уведомлений об обновленных местоположениях GPS.и т. д.
Диспетчер местоположения (CLLocationManager
) - это объект, который вы создаете, когда хотите получить информацию о местонахождении устройства.Вы создаете один и просите его уведомить вас о различных типах событий местоположения.Вы устанавливаете объект, чтобы быть "делегатом" менеджера местоположения.Это все равно, что дать менеджеру местоположения номер телефона и сказать «позвоните по этому номеру, когда местоположение пользователя изменится».
Менеджер местоположений вызывает своего делегата, когда происходят события, о которых вы сказали, что вам небезразлично.