当我声明一个我想要符合协议的类时,Swift会向我显示一条消息,说明在符合所有协议要求之前我不符合该协议。
有没有办法让编译器给我更具体的细节,说明我缺少哪些要求,或者为什么我不符合该协议,或者我总是要用我的班级打开该协议的源代码源代码并排并进行手动眼球比较?
为了澄清,我并没有特别询问任何具体的协议,事实上我真的在寻求更好的支持来执行我自己的协议。
答案 0 :(得分:6)
答案 1 :(得分:2)
有没有办法让编译器给我更具体的细节,说明我缺少哪些要求?
是的,完整的编译器输出可以准确地告诉您缺少哪些要求:
简单示例:
class A : Equatable {
}
编译器输出:
error: type 'A' does not conform to protocol 'Equatable' class A : Equatable { ^ Swift.Equatable:28:17: note: protocol requires function '==' with type '(A, A) -> Bool' public func ==(lhs: Self, rhs: Self) -> Bool
答案 2 :(得分:0)