This issue describes how to implement the protocols concept exercise for the Swift track.
Getting started
Please please please read the docs before starting. Posting PRs without reading these docs will be a lot more frustrating for you during the review cycle, and exhaust Exercism's maintainers' time. So, before diving into the implementation, please read the following documents:
Please also watch the following video:
Goal
This concept exercise should convey a basic understanding of how to work with protocols in Swift.
Things to teach
- What protocols are
- Protocol syntax
- Protocol conformance
- Property requirements
- Method requirements
- init requirements
- Protocols as types
- Conformance and adoption via extensions
Things not to teach
- Protocol extensions
- Delegation
- Protocol inheritance
- Protocol composition
- Protocols with associated types
- Class only protocols
- Conformance checking with
as
- Optional requirements
Concepts
Prerequisites
structs-and-classes
enumerations
properties
methods
initialization
Resources to refer to
Hints
After
Representer
TBD
Analyzer
TBD
Implementing
See the Swift track implementation guide for guidance.
Help
If you have any questions while implementing the exercise, please post the questions as comments in this issue.
This issue describes how to implement the protocols concept exercise for the Swift track.
Getting started
Please please please read the docs before starting. Posting PRs without reading these docs will be a lot more frustrating for you during the review cycle, and exhaust Exercism's maintainers' time. So, before diving into the implementation, please read the following documents:
Please also watch the following video:
Goal
This concept exercise should convey a basic understanding of how to work with protocols in Swift.
Things to teach
Things not to teach
asConcepts
protocolsPrerequisites
structs-and-classesenumerationspropertiesmethodsinitializationResources to refer to
Hints
After
Representer
TBD
Analyzer
TBD
Implementing
See the Swift track implementation guide for guidance.
Help
If you have any questions while implementing the exercise, please post the questions as comments in this issue.