Avatar
protocolのrequirementsにはデフォルト実装ができないという認識だったので、extensionにだけ書けばいいと思っていたのですが、extensionのみだと関連性を持つことができないのですね。ありがとうございます! 教えてくださったrequirementsにsomePrint()を追加することでSecondとprintすることができました! protocol SomeProtocol { func somePrint() } extension SomeProtocol { func somePrint() { print("First") } } struct SomeModel: SomeProtocol { func somePrint() { print("Second") } } let someModel: some SomeProtocol = SomeModel() someModel.somePrint() // Second