Book Image

Mastering Swift 5.3 - Sixth Edition

By : Jon Hoffman
Book Image

Mastering Swift 5.3 - Sixth Edition

By: Jon Hoffman

Overview of this book

Over the years, Mastering Swift has proven itself among developers as a popular choice for an in-depth and practical guide to the Swift programming language. This sixth edition comes with the latest features, an overall revision to align with Swift 5.3, and two new chapters on building swift from source and advanced operators. From the basics of the language to popular features such as concurrency, generics, and memory management, this in-depth guide will help you develop your expertise and mastery of the language. As you progress, you will gain practical insights into some of the most sophisticated elements in Swift development, including protocol extensions, error handling, and closures. The book will also show you how to use and apply them in your own projects. In later chapters, you will understand how to use the power of protocol-oriented programming to write flexible and easier-to-manage code in Swift. Finally, you will learn how to add the copy-on-write feature to your custom value types, along with understanding how to avoid memory management issues caused by strong reference cycles. By the end of this Swift book, you will have mastered the Swift 5.3 language and developed the skills you need to effectively use its features to build robust applications.
Table of Contents (23 chapters)
21
Other Books You May Enjoy
22
Index

Bits and bytes

A computer thinks in terms of binary digits. These digits are called bits and can have only two values: 0 or 1, which represent on or off in electrical terms. Bits are very small and have limited usefulness on their own outside of using them for true/false flags. They are grouped together into groups of 4, 8, 16, 32, or 64 to form data that a computer can use.

A byte in computer terms is a group of 8 bits. If we think in terms of a byte, the number 42 is represented like this, where the least significant bit is to the right and the most significant bit is to the left:

Figure 15.1: The number 42 represented in bits

The top row in Figure 15.1 shows the value, on or off, of each bit for an 8-bit byte that equals the number 42. The second row shows you the value represented by each bit in the byte. We can see that for the number 42, the bits for the values of 32, 8, and 2 are set. We can then add up those values and see that they equal 42: 32+8+2 = 42....