Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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 String! is same as String, so it is unwrapped String?...

  • Xcode 7.3.1
  • Swift 2.2
  • ReactiveCocoa 4.1.0
like image 1000
Nat Avatar asked Dec 10 '22 16:12

Nat


1 Answers

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.

like image 66
Sulthan Avatar answered Dec 24 '22 11:12

Sulthan