How to require that a protocol can only be adopted by a specific class How to require that a protocol can only be adopted by a specific class swift swift