【问题标题】:Xcode 7.2.1 Swift 2.1.1 cannot assign value of type 'Dictionary<_,_>' to type 'Dictionary'Xcode 7.2.1 Swift 2.1.1 无法将类型“字典<_,_>”的值分配给类型“字典”
【发布时间】:2016-02-19 14:33:48
【问题描述】:

我将 Xcode 更新到 7.2.1,编译时我从不同的文件中多次收到以下错误。

即使我注释掉我在该文件中使用的字典,我仍然会收到错误消息。我不明白为什么它没有给我错误的行。

我如何在此处声明和使用字典的示例:

  var viewControllersCache = [String: UIViewController]()
  ...
  viewControllersCache["notifications"] = notificationsContainer

以前版本的 xcode/swift 没有编译问题。这是否与构建设置有关,或者我错过了如何声明空字典/为它们赋值。

感谢任何提示!

【问题讨论】:

  • 通知容器的类型似乎是Dictionary,而不是UIViewController
  • 您是从哪个版本更新到 swift 2.1.1 的??请向我们显示您收到错误的确切代码行...
  • 试试这个,是一样的“var viewControllersCache = Dictionary()”
  • @JeanLebrument 不是这样。我已经用更多信息更新了我的问题。错误没有行号,我可以建立的唯一连接是我声明一个空字典或数组,但是当我注释掉可能的“违规”行时,文件仍然会标记错误。如果我尝试 Dictionary 也会出现同样的问题。编译好像有问题。

标签: ios xcode swift dictionary


【解决方案1】:

终于找到东西了。看起来像一个错误。

https://forums.developer.apple.com/thread/20531

解决方案是显式声明字典或数组,例如

 var viewControllersCache:Dictionary<String,UINavigationController> = Dictionary<String,UINavigationController>()

因此,请查看您的代码,看看您没有在哪里执行此操作。

希望这对某人有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多