2016-07-04 38 views
1
mapView.rac_valuesForKeyPath("userTrackingMode", observer: self).subscribeNextAs { 
// block handling 

Ich erhalte einen Fehler 'String' is not convertible to 'String!'. Irgendwelche Vorschläge, was das bedeuten könnte?Fehler: 'String' ist nicht konvertierbar zu 'String!'

Ich glaube, früher, dass String! als String gleich ist, so ist es ungeöffneten String? ...

  • Xcode 7.3.1
  • Swift 2.2
  • ReactiveCocoa 4.1.0
+2

Ich denke, der Compiler meldet einen falschen Fehler. Vielleicht versuchen Sie 'Let Key: String! = "userTrackingMode" 'und dann' key' anstelle des Literals. Das könnte dem Compiler helfen, den echten Fehler zu drucken. – Sulthan

+0

@Sultan Sie hatten Recht. Poste dies bitte als Antwort. – Vive

Antwort

8

Ich denke, der Compiler meldet einen falschen Fehler.

können Sie den Ausdruck vereinfachen

let key: String! = "userTrackingMode" 

und anschließend key anstelle des wörtlichen verwenden.

Das vereinfacht den Ausdruck und hilft dem Compiler, den echten Fehler zu drucken.

Die Typableitung ist kompliziert und wenn der Compiler keine gültige Typkombination findet, kann er einen falschen Fehler anzeigen.