表达暗中强迫来自UIView?'到任何 - 如何在源代码

时间:2016-11-22 01:16:50

标签: ios swift xcode swift3

我在Xcode 8.1中收到了几个警告:

Expression implicitly coerced from 'UIView?' to Any. 

其他课程也有一些。当我第一次迁移到Swift 3时,我有一些这些,但它们主要是Print语句,我只需添加as Any来解决它们。但是,与这些不同的是,他们不会将我带到源代码中的任何一行,也不会指出源代码中的问题所在。如果我在Xcode中点击它们,它只需要我再次列出它们的日志。

enter image description here

我有什么方法可以确定这些警告的代码位置吗?感谢。

编辑:

这里是问题导航器中警告的样子。如果我点击它们中的任何一个,它就不会把我带到源代码中的那一行。它只显示编译器日志,列出相同的消息。

enter image description here

1 个答案:

答案 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]