Harness the power of the latest edition with this in-depth and comprehensive guide to the Swift language
Fifth edition of this bestselling book, improved and updated to cover the latest version of the Swift 5 programming language
Get to grips with popular and modern design techniques to write easy-to-manage Swift code
Learn how to use core Swift features such as concurrency, generics, and copy-on-write in your code
Over the years, the Mastering Swift book has established itself amongst developers as a popular choice as an in-depth and practical guide to the Swift programming language. The latest edition is fully updated and revised to cover the new version: Swift 5.
Inside this book, you’ll find the key features of Swift 5 easily explained with complete sets of examples. From the basics of the language to popular features such as concurrency, generics, and memory management, this definitive guide will help you develop your expertise and mastery of the Swift language.
Mastering Swift 5, Fifth Edition will give you an in-depth knowledge of some of the most sophisticated elements in Swift development, including protocol extensions, error handling, and closures. It will guide you on how to use and apply them in your own projects.
Later, you’ll see how to leverage the power of protocol-oriented programming to write flexible and easier-to-manage code. You will also see how to add the copy-on-write feature to your custom value types and how to avoid memory management issues caused by strong reference cycles.
What you will learn
Understand core Swift components, including operators, collections, control flows, and functions
Learn how and when to use classes, structures, and enumerations
Understand how to use protocol-oriented design with extensions to write easier-to-manage code
Use design patterns with Swift, to solve commonly occurring design problems
Implement copy-on-write for you custom value types to improve performance
Add concurrency to your applications using Grand Central Dispatch and Operation Queues
Implement generics to write flexible and reusable code
Who this book is for
This book is for developers who want to delve into the newest version of Swift. If you are a developer and learn best by looking at and working with code, then this book is for you. A basic understanding of Apple’s tools would be beneficial but not mandatory. All examples should work on the Linux platform as well.
Table of Contents
Taking the First Steps with Swift
Learning about Variables, Constants, Strings and Operators
Using Swift Collections
Classes, Structures, and Protocols
Using Protocols and Protocol Extensions
Protocol Oriented Design
Availability and Error Handling
Working with Closures
Concurrency and Parallelism in Swift
Swift Formatting and Style Guider
Adopting Design Patterns in Swift