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
- Optional Types
- Using Swift Collections
- Control Flow
- Classes, Structures, and Protocols
- Using Protocols and Protocol Extensions
- Protocol Oriented Design
- Availability and Error Handling
- Custom Subscripting
- Working with Closures
- Concurrency and Parallelism in Swift
- Custom Types
- Memory Management
- Swift Formatting and Style Guider
- Adopting Design Patterns in Swift