错误:'字符串'不能转换为' String!'

时间:2016-07-04 13:36:39

标签: swift string reactive-cocoa

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

我收到错误'String' is not convertible to 'String!'。有什么建议可能意味着什么?

我曾经认为,String!String相同,因此它已展开String? ...

  • Xcode 7.3.1
  • Swift 2.2
  • ReactiveCocoa 4.1.0

1 个答案:

答案 0 :(得分:11)

我认为编译器报告错误。

您可以使用

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

然后使用key代替文字。

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

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