Skip to Content
iOS 12 Programming Fundamentals with Swift
book

iOS 12 Programming Fundamentals with Swift

by Matt Neuburg
October 2018
Beginner
650 pages
17h 59m
English
O'Reilly Media, Inc.
Content preview from iOS 12 Programming Fundamentals with Swift

Chapter 5. Flow Control and More

This chapter is a miscellany, presenting various remaining aspects of the Swift language. I’ll start by describing the syntax of Swift’s flow control constructs for branching, looping, and jumping. Then I’ll summarize Swift’s privacy and introspection features, and talk about how to override operators and how to create your own operators. Next I’ll discuss some recently added Swift language features: synthesized protocol implementations, key paths, and dynamic members. Finally, I’ll explain some specialized aspects of Swift memory management.

Flow Control

A computer program has a path of execution through its code statements. Normally, this path follows a simple rule: execute each statement in succession. But there is another possibility. Flow control can be used to make the path of execution skip some code statements, or go back and repeat some code statements. Flow control is what makes a computer program “intelligent.” By testing the truth value of a condition — an expression that evaluates to a Bool and is thus true or false — the program decides at that moment how to proceed. Flow control based on testing a condition may be divided into two general types:

Branching

The code is divided into alternative chunks, like roads that diverge in a wood, and the program is presented with a choice of possible ways to go; the truth of a condition is used to determine which chunk will actually be executed.

Looping

A chunk of code is marked off for ...

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

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

iOS 13 Programming Fundamentals with Swift

iOS 13 Programming Fundamentals with Swift

Matt Neuburg

Publisher Resources

ISBN: 9781492044543Errata Page