输入' AppDelegate'不符合协议' CLLocationManagerDelegate' - Xcode 6中的Swift

时间:2014-09-26 20:45:35

标签: ios xcode swift

我正在尝试使用重要更改位置服务。我在OS Mavericks上使用Swift和XCode。我正在尝试增强我根据教程构建的iOS应用程序。

在我的AppDelegate.swift文件中,我创建了以下方法来初始化我的位置管理器服务:

func initializeLocationManager() {
    // instance of location manager class
    var locationManager = CLLocationManager()
    locationManager.delegate = self // error here
    locationManager.desiredAccuracy = kCLLocationAccuracyKilometer
    locationManager.requestAlwaysAuthorization()
    locationManager.startUpdatingLocation()
}

但是在第4行代码中,我收到一条错误消息:

  

键入' AppDelegate'不符合协议' CLLocationManagerDelegate'

为什么我收到此错误?我该如何解决?

2 个答案:

答案 0 :(得分:2)

错误说:

  

类型'AppDelegate'不符合协议'CLLocationManagerDelegate'

所以:

您收到此消息是因为名为AppDelegate的类不符合协议CLLocationManagerDelegate

您可以通过使该类符合该协议来解决此问题。因此,实现协议所需的方法,然后声明您的类符合它。

答案 1 :(得分:1)

您必须在AppDelegate类中至少提供CLLocationManager.didUpdateLocations函数。