我在Xcode 8.1中收到了几个警告:
Expression implicitly coerced from 'UIView?' to Any.
其他课程也有一些。当我第一次迁移到Swift 3时,我有一些这些,但它们主要是Print语句,我只需添加as Any
来解决它们。但是,与这些不同的是,他们不会将我带到源代码中的任何一行,也不会指出源代码中的问题所在。如果我在Xcode中点击它们,它只需要我再次列出它们的日志。
我有什么方法可以确定这些警告的代码位置吗?感谢。
编辑:
这里是问题导航器中警告的样子。如果我点击它们中的任何一个,它就不会把我带到源代码中的那一行。它只显示编译器日志,列出相同的消息。
答案 0 :(得分:1)
我设法通过消除过程来清理它们。我一次将代码注释掉一个块直到警告消失,然后检查了该块。事实证明,罪魁祸首是具有混合数据类型的字典声明。我在每个末尾添加了as [String : Any]
,现在它编译得很干净。
例如:
let params = [
"myInt" : 50,
"myString" : "some stuff",
"myBool" : true
]
需要更改为:
let params = [
"myInt" : 50,
"myString" : "some stuff",
"myBool" : true
] as [String : Any]