Book Image

Learning Swift

By : Andrew J Wagner
Book Image

Learning Swift

By: Andrew J Wagner

Overview of this book

Table of Contents (18 chapters)
Learning Swift
Credits
About the Author
About the Reviewer
www.PacktPub.com
Preface
Index

Putting protocols and generics to use


One cool thing about Swift is that it contains generators and sequences. They provide an easy way to iterate over a list of values. Ultimately, they boil down to two different protocols: GeneratorType and SequenceType. If you implement the SequenceType protocol in your custom types, it allows you to use the for-in loop over an instance of your type. In this section, we will look at how to do that.

Generators

The most critical part of this is the GeneratorType protocol. Essentially, a generator is an object that you can use repeatedly to ask for the next object in a series until there are no objects left. Most of the time, you can simply use an array for this, but it is not always the best solution. For example, you can even make a generator that is infinite.

There is a famous infinite series of numbers called the Fibonacci Sequence where every number in the series is the sum of the two previous numbers. This is especially famous because it is found everywhere...