The Swift programming language subject : protocols author : hothead (osxdev) Protocol Syntanx Property requirements Method Requirements Mutating Method Requirements Initializer Requirements Failable Initializer Requirements Class only protocols Protocol Composition Checking for Protocol Conformance Optional Protocol Requirements Providing Default Implementations Adding Constraints to Protocol Extensions