В моем приложении класса делегата, я заявляю locaitonManager:Доступ locaitonManager из обоего AppDelegate и ViewController
var locationManager: CLLocationManager?
Позже в моем приложении в одном из классов вида контроллера, мне нужно, чтобы остановить обновления местоположения:
locationManager?.stopUpdatingLocation()
Но я получаю сообщение об ошибке:
Value of type CLLocation Manager.... has no member ....
поскольку диспетчер просмотра не может получить доступ к менеджеру местоположений, объявленному в классе делегатов приложения. Каков мой простой выход? Я должен иметь доступ к locationManager в делегате приложения.
Примечание: Как ни странно, мой func locationManager(manager: CLLocationManager, didUpdateLocations locations: [CLLocation])
находится внутри контроллера зрения тоже, и это, кажется, работает нормально.
Метод делегата будет вызываться на контроллере представления, если вы установили контроллер представления в качестве делегата. Вы можете получить ссылку на делегат приложения, используя 'UIApplication.sharedApplication(). Delegate' – Paulw11
Приятно, я попробую это, когда вернусь к этому проекту. – Kashif