Home > Mobile >  How is it possible that class is implementing only methods(protocol) that it needs?
How is it possible that class is implementing only methods(protocol) that it needs?

Time:03-06

I got a code where the specific class is implementing the protocol, the protocol has (ex: 3 methods), but the class is implementing only one of them.

protocol MyProtocol {
 func a()
 func b()
 func c()
}

class Foo: MyProtocol {
 func a() { ... }
}

and this works, but magic is if I add a new method in the protocol eg: func d(), I got an error that class Foo doesn't implement all methods of the protocol.

What is a diff between my new method func d() and others that class Foo also doesn't implement? But on my method, I got an error, and on others no...

CodePudding user response:

This means b() and c() have default implementations. If you search for extension MyProtocol in the codebase you should be able to find their default implementations.

  • Related