Swift Course: Extensions & Protocols
Method Requirements
Protocols can require specific instance methods and type methods to be implemented by conforming types. These methods are written as part of the protocol’s definition in exactly the same way as for normal instance and type methods, but without curly braces or a method body. Variadic parameters are allowed, subject to the same rules as for normal methods. Default values, however, can’t be specified for method parameters within a protocol’s definition.
As with type property requirements, you always prefix type method requirements with the static
keyword when they’re defined in a protocol. This is true even though type method requirements are prefixed with the class
or static
keyword when implemented by a class:
Here’s an implementation of a class that adopts and conforms to the Mockable