Невозможно добавить значение типа «[NSObject: AnyObject]» с индексом типа «NSKeyValueChangeKey» - PullRequest
0 голосов
/ 29 мая 2018

Я получаю эту ошибку, когда помещаю этот код.

Ошибка: Невозможно добавить значение типа '[NSObject: AnyObject]' с индексом типа 'NSKeyValueChangeKey'

func observeValueForKeyPath(keyPath: String, ofObject object: AnyObject, change: [NSObject : AnyObject], context: UnsafeMutableRawPointer) {
    if !didFindMyLocation {
        let myLocation: CLLocation = change[NSKeyValueChangeNewKey] as CLLocation
        viewMap.camera = GMSCameraPosition.camera(withTarget: myLocation.coordinate, zoom: 10.0)
        viewMap.settings.myLocationButton = true

        didFindMyLocation = true
    }
}

1 Ответ

0 голосов
/ 29 мая 2018

Это правильная подпись observeValue(forKeyPath:of:change:context:) (Swift 4):

func observeValue(forKeyPath keyPath: String?, 
                of object: Any?, 
           change: [NSKeyValueChangeKey : Any]?, 
          context: UnsafeMutableRawPointer?)

Независимо от языковой версии, ключ для вас должен изменить change: [NSObject : AnyObject] на change: [NSKeyValueChangeKey : Any]?.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...