Как достичь userLocation глобально?
Я хочу получить все классы в моей переменной userLocation моего проекта. Как я могу идентифицировать себя как глобальный? Это разумно? Должен ли я определять каждый класс отдельно? Также я хотел бы получить доступ к приложению в фоновом режиме.
Спасибо
2 ответа
Никогда не используйте глобальные переменные вообще (в любом языке программирования), это плохая архитектура / дизайн в целом.
Вам следует использовать шаблон Singleton (см. Apple Doc) для сбора общей информации или функций, общих для приложения. Используйте его уместно (использовать его везде без оправдания - тоже плохой дизайн)
В случае userLocation вы можете в любом случае получить последнее местоположение пользователя, полученное с помощью GPS, используя CLLocationManager
"s location
свойство в любом случае, поэтому нет необходимости в глобальной переменной или синглтоне для этого случая.
Не рекомендуется создавать много экземпляров CLLocationManager. Вместо этого я обычно использую appDelegate для хранения одного экземпляра. Вы также можете взглянуть на CLLocationManager в учебнике по одному экземпляру, который демонстрирует, как использовать appDelegate.
Что касается доступа к приложению из фона - это зависит от того, что вы хотите сделать. Вы можете уточнить, чего именно вы хотите достичь?