我应该在AppDelegate或ViewController [Swift]中初始化LocationManager设置吗?

时间:2016-03-12 05:49:54

标签: xcode swift location

我是IOS开发的新手。 我正在学习coreLocation,我需要在ViewComtroller.swift代码中初始化位置服务,例如

func initLocationManager() {
    locationManager = CLLocationManager()
    locationManager.delegate = self
    locationManager.desiredAccuracy = 5
    locationManager.startUpdatingLocation()
    locationManager.requestAlwaysAuthorization()
    if CLLocationManager.locationServicesEnabled() {
        print("location Services Enabled")
    }
}
     

我有一个问题,当应用程序启动时,某些命令(如locationManager.requestAlwaysAuthorization())只需运行一次?但是如果我在ViewDidLoad()中添加它,它将在每次返回视图场景时运行。

我需要将它们放入AppDelegate.swift吗?我试过这样做。但我不知道如何将AppDelegate.swift与其他.swift

联系起来

是否有人知道一些解决方案,以使应用程序更好,更有效地运行

1 个答案:

答案 0 :(得分:0)

当你在设置这行代码之后得到位置locationManager.delegate = nil所以不调用它的委托方法。