为什么我不能使用 manager.locationServicesEnabled()

Why can I not use manager.locationServicesEnabled()

我正在检查该应用是否启用了定位服务。看下面的代码,为什么我不能使用“!manager.locationServicesEnabled()”因为locationManager是CLLocationManager类型?

override func viewDidLoad() {
    super.viewDidLoad()

    enableLocationServices(manager: locationManager)

}

func enableLocationServices(manager: CLLocationManager) {

    manager.delegate = self

    if !CLLocationManager.locationServicesEnabled() {
        manager.requestWhenInUseAuthorization()
    }
}

假设您问为什么必须使用 CLLocationManager.locationServicesEnabled() 而不是 manager.locationServicesEnabled() 那么答案很简单 locationServicesEnabled 是一种类型方法,必须在 class, 不是 class.

的实例

在查看方法或 属性 的文档时,如果它以 classstatic 开头,那么您可以在 class、结构或直接枚举。如果它不是以 classstatic 开头,那么您可以在 class、结构或枚举的特定实例上调用它。