在
Swift中实现协议一致性时我有两个选择,结果相同:
原文链接:https://www.f2er.com/swift/318659.html>在类中实现协议 – 即在类定义顶部声明一致性,并将实现放在类主体中,或者
>在扩展中实现协议 – 即完全在类外编写协议一致性.
这是一个例子:
public class MyClass : CustomDebugStringConvertible { ... // Something public var debugDescription : String { return "MyClass" } }
与
class MyClass { ... // Something } extension MyClass : CustomDebugStringConvertible { public var debugDescription: String { return "MyClass" } }
Swift书中的代码示例倾向于集中于第一种方法; Apple’s source code of Swift core显示他们只使用第二种方法(例如,参见Bool和Optional).