ios – Xcode 6 Beta7 NSDictionary到Swift

ios – Xcode 6 Beta7 NSDictionary到Swift,第1张

概述在从更新到Beta 7的大量错误中,我得到了这个让我头疼的特别之处…… let views:NSDictionary = [ "leftView": _leftVC.view, "rightView": _rightVC.view, "outerView": _scrollView.superview 在从更新到Beta 7的大量错误中,我得到了这个让我头疼的特别之处……

let vIEws:NSDictionary =        [            "leftVIEw": _leftVC.vIEw,"rightVIEw": _rightVC.vIEw,"outerVIEw": _scrollVIEw.supervIEw        ];

错误:
无法转换表达式’类型’字典’键入’StringliteralConvertible’
需要’vIEws’的方法需要一个NSDictionary,所以我不能只使用Swift Dictionary.

我如何调整上述代码以满足Xcode6 Beta7?

解决方法 问题是UIScrollVIEw.supervIEw是可选的,所以你必须将未包装的值放在字典中

let vIEws:NSDictionary =[    "leftVIEw": _leftVC.vIEw,"outerVIEw": _scrollVIEw.supervIEw!];

使用更安全的逻辑而不是隐式展开(即检查supervIEw不是nil),除非您100%确定它包含非零值.

即使视图变量是NSDictionary类型,您用来初始化它的字典文字也会评估为快速字典 – 然后它会静默地桥接到NSDictionary.

编译器抱怨的原因是_scrollVIEw.supervIEw是可选的,它可能是nil,并且这是不允许的.

正如@JackLawrance所指出的,即使用文字初始化,字典也可以具有非统一值类型.

旁注:我们什么时候会收到更有意义的错误消息? 总结

以上是内存溢出为你收集整理的ios – Xcode 6 Beta7 NSDictionary到Swift全部内容,希望文章能够帮你解决ios – Xcode 6 Beta7 NSDictionary到Swift所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1000242.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-21
下一篇 2022-05-21

发表评论

登录后才能评论

评论列表(0条)

保存