我正在检查是否为该应用程序启用了位置服务。查看下面的代码,为什么locationManager的类型为CLLocationManager,为什么我不能使用“!manager.locationServicesEnabled()”?
override func viewDidLoad() {
super.viewDidLoad()
enableLocationServices(manager: locationManager)
}
func enableLocationServices(manager: CLLocationManager) {
manager.delegate = self
if !CLLocationManager.locationServicesEnabled() {
manager.requestWhenInUseAuthorization()
}
}
答案 0 :(得分:1)
假设您要问为什么必须使用CLLocationManager.locationServicesEnabled()
而不是manager.locationServicesEnabled()
,那么答案很简单,就是locationServicesEnabled
是类型方法,必须在类上调用,而不是班级。
在查看方法或属性的文档时,如果其以class
或static
开头,则可以直接在类,结构或枚举上调用它。如果它不是以class
或static
开头,则可以在类,结构或枚举的特定实例上调用它。