Как достичь userLocation глобально?

Я хочу получить все классы в моей переменной userLocation моего проекта. Как я могу идентифицировать себя как глобальный? Это разумно? Должен ли я определять каждый класс отдельно? Также я хотел бы получить доступ к приложению в фоновом режиме.

Спасибо

2 ответа

Решение

Никогда не используйте глобальные переменные вообще (в любом языке программирования), это плохая архитектура / дизайн в целом.

Вам следует использовать шаблон Singleton (см. Apple Doc) для сбора общей информации или функций, общих для приложения. Используйте его уместно (использовать его везде без оправдания - тоже плохой дизайн)

В случае userLocation вы можете в любом случае получить последнее местоположение пользователя, полученное с помощью GPS, используя CLLocationManager"s location свойство в любом случае, поэтому нет необходимости в глобальной переменной или синглтоне для этого случая.

Не рекомендуется создавать много экземпляров CLLocationManager. Вместо этого я обычно использую appDelegate для хранения одного экземпляра. Вы также можете взглянуть на CLLocationManager в учебнике по одному экземпляру, который демонстрирует, как использовать appDelegate.

Что касается доступа к приложению из фона - это зависит от того, что вы хотите сделать. Вы можете уточнить, чего именно вы хотите достичь?

Другие вопросы по тегам