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

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

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

我收到一个错误 'String' is not convertible to 'String!'。有什么建议吗?

我曾经认为,String!String 相同,所以它被展开 String?...

我认为编译器报错了。

您可以使用

简化表达式
let key: String! = "userTrackingMode"

然后使用 key 而不是文字。

这将简化表达式并帮助编译器打印出真正的错误。

类型推断很复杂,当编译器找不到有效的类型组合时,它会向您显示错误。