Vive Vive - 1 year ago 52
Swift Question

Error: 'String' is not convertible to 'String!'

mapView.rac_valuesForKeyPath("userTrackingMode", observer: self).subscribeNextAs {
// block handling

I get an error
'String' is not convertible to 'String!'
. Any suggestions what this may mean?

I used to think, that
is same as
, so it is unwrapped

  • Xcode 7.3.1

  • Swift 2.2

  • ReactiveCocoa 4.1.0

Answer Source

I think the compiler is reporting a wrong error.

You can simplify the expression using

let key: String! = "userTrackingMode"

and then use key instead of the literal.

That will simplify the expression and will help the compiler to print the real error.

Type inferring is complicated and when the compiler doesn't find a valid type combination, it can show you a wrong error.