“错误”是不明确的类型查找在这方面Multipeer连接

问题描述:

我更新到XCode8 /斯威夫特3“错误”是不明确的类型查找在这方面Multipeer连接

'Error' is ambiguous for type lookup

如何修复这个错误后,得到这个错误?

谢谢!

+0

你偶然在你的项目中有一个'Error'类/结构?在Swift 3中,系统类“NSError”被重命名为'Error' – Losiowaty

+0

请提供文本而不是截图,以便我们可以复制代码以重现问题 – Mark

这是最常见的一种类型,它有自己的Error类型。例如:

class MyClass { 
    enum Error { 
     ... 
    } 
    ... 
} 

这也可以,如果你全局声明的Error类型发生。在Swift 3之前,这没有问题,但是在Swift 3中,它与新的stdlib Error类型相冲突。要解决这个问题,你需要改变你的Error类型的名字,或者(更普遍的),只是明确你从哪个模块中提取。所以这行代码将变成:

... withError error: Swift.Error?) { 
+0

这很奇怪,因为没有声明任何错误类型。但Swift.Error工作!谢谢 –

+0

关于'错误'与'Swift.Error?'。 '错误'是一种类型和模糊。好。什么是“Swift.Error”? – Honey

+1

“Swift”是标准库模块的名称。所以Swift.Error是stdlib中的“Error”符号。这只是一个完全合格的符号。您可以隐式地在所有Swift程序中“导入Swift”。所以它不是模糊的。它非常具体。 :)如果OP在命令代码中点击“错误”,它们将被带到任何其他模块正在定义自己的错误符号。 –