O'Reilly logo

iOS 11 Programming Fundamentals with Swift by Matt Neuburg

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Chapter 3. Variables and Simple Types

A variable is a named “shoebox” whose contained value must be of a single well-defined type. Every variable must be explicitly and formally declared. To put a value into the shoebox, thus causing the variable name to refer to that value, you assign the value to the variable. The variable name becomes a reference to that value.

This chapter goes into detail about declaration and initialization of variables. It then discusses all the primary built-in Swift simple types. (I mean “simple” as opposed to collections; the primary built-in collection types are discussed at the end of Chapter 4.)

Variable Scope and Lifetime

A variable not only gives its referent a name; it also, by virtue of where it is declared, endows its referent with a particular scope (visibility) and lifetime. Assigning a value to a variable is a way of ensuring that this value can be seen by code that needs to see it and that it persists long enough to serve its purpose.

In the structure of a Swift file (see Example 1-1), a variable can be declared just about anywhere. It will be useful to distinguish several levels of variable scope and lifetime:

Global variables

A global variable, or simply a global, is a variable declared at the top level of a Swift file. A global variable lives as long as the file lives, which is as long as the program runs. A global variable is visible everywhere (that’s what “global” means). It is visible to all code within the same file, because it ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required