Chapter 8. Protocols and Extensions: A Swift Lesson in Protocol
Note
You will also extend your knowledge! Get it? No? You will soon.
You know all about classes and inheritance, but Swift has a few more tricks for structuring programs, and they’re a lot Swiftier. Meet protocols and extensions. Protocols in Swift let you define a blueprint specifying methods and properties that are required for some purpose, or some piece of functionality. A protocol is adopted by a class, structure, or enumeration, and the actual implementation happens there. Types that provide the functionality needed, and adopt a protocol, are referred to as conforming to that protocol. Extensions simple let you add new functionality to existing types.
That’s a fabulous question, and we’re glad you asked.
Swift has a whole other way of building related logic and objects, using protocols and extensions. It’s very Swifty, and it’s kind of unique.
Protocols let you define a set of functionality that something can conform to, without having to provide the implementation until you conform something to it.
A protocol is kind of like a contract: if you define a protocol that requires something to have a property called color, storing a String representing a color, then any type that conforms to that protocol absolutely ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access