将我的游乐场
代码更改为
Swift 3,Xcode建议更改
enum Error: ErrorType {
case NotFound
}
至
enum Error: Error {
case NotFound
}
但现在我得到标题错误,我不知道如何使枚举符合该协议.
问题是你已经将
错误类型命名为Error – 这与标准库Error协议冲突(因此Swift认为你有一个循环引用).
您可以将Swift错误协议称为Swift.Error以消除歧义:
enum Error : Swift.Error {
case NotFound
}
但这意味着模块中将来对Error的任何引用都将引用您的Error类型,而不是Swift Error协议(您必须再次消除歧义).
因此,到目前为止最简单的解决方案是将错误类型重命名为更具描述性的内容.