Here are terms you will encounter throughout this guide.
Part of the Xcode toolbar that displays messages about the build process and other information.
A user interface (UI) that automatically adjusts so that it looks good in the context of the available screen space.
application programming interface (API)
An object in your app (specifically, an instance of the
AppDelegateclass) that creates the window where your app’s content is drawn and that provides a place to respond to state transitions within the app.
A tool to manage assets like images that are used by your app as part of its user interface (UI).
In Xcode, a secondary editor window that appears side-by-side with your primary editor.
Removes all the product files, as well as any object files or other intermediate files created during the build process.
closed range operator
An operator (
...) that lets you create a range of numbers that includes both the lower and upper values.
A self-contained block of functionality that can be passed around and used in your code. Closures in Swift are similar to blocks in C and Objective-C and to lambdas in other programming languages.
A feature of Xcode that infers what you’re trying to type from context and provides suggestions that you can select.
A piece of text in a source code file that doesn’t get compiled as part of the program but provides context or other useful information about individual pieces of code.
A control flow statement that checks whether a condition is true before executing a piece of code.
A value that’s initialized once and cannot change, indicated in Swift by the
In Auto Layout, a rule that explains where one element should be located relative to another, what size it should be, or which of two elements should shrink first when something reduces the space available for each of them.
A secondary initializer, which adds additional behavior or customization, but must eventually call through to a designated initializer.
An object that acts on behalf of, or in coordination with, another object.
A data type that defines a group of related values and enables you to work with those values in a type-safe way within your code.
A category of programming in which the flow of the app is determined by events: system events and user actions.
An object that is first to receive many kinds of app events, including key events, motion events, and action messages, among others.
forced type cast operator
An operator (
as!) that attempts a downcast and force-unwraps the result.
An operator (
!) placed after an optional value to access its underlying value.
In Xcode, a jump menu that lets you navigate directly to a specific declaration or section in a source code file.
guardstatement declares a condition that must be true in order for the code after the
guardstatement to be executed. Using a
guardstatement for requirements improves the readability of your code, compared to doing the same check with an
half-open range operator
An operator (
..<) that lets you create a range of numbers that includes the lower but not the upper value.
implicitly unwrapped optional
An optional that can also be used like a nonoptional value, without the need to unwrap the optional value each time it is accessed, because it’s assumed to always have a value after that value is initially set.
A method that handles the process of preparing an instance of a class, structure, or enumeration for use, which involves setting an initial value for its properties and performing any other required setup.
integrated development environment (IDE)
A software application that provides a set of tools for software development.
The graphical environment for building a user interface (UI) in Xcode.
intrinsic content size
The minimum size needed to display all the content in a view without clipping or distorting that content.
An area in Xcode that displays one of the ready-to-use libraries of resources for your project, like the Object library.
A segue in which one view controller presents another view controller as its child. The user must interact with the presented controller, and dismiss it before returning to the app’s main flow. Use modal segues to present tasks that the user must complete before continuing.
nil coalescing operator
A value that contains either an underlying value or nil to indicate that the value is missing.
The process of attempting to assign an optional value to a constant in a conditional statement to see if the optional contains an underlying value.
optional type cast operator
A pane in a storyboard that lets you see a hierarchical representation of the objects in your storyboard.
A type of file in which you can change and play around with Swift code directly in Xcode and see the immediate results.
Part of the Xcode workspace window that displays all the files in your project.
A piece of code that’s called every time the value of a property is set. Use property observers to observe and respond to changes in the property’s value.
root view controller
An event processing loop that you use to schedule work and coordinate the receipt of incoming events in your app.
A storyboard representation of a screen of content in your app.
A segue that varies the way new content is displayed based on the target view controller. For navigation controllers, the show segue pushes new content on top of the current view controller stack. Use a navigation controller and show segues to navigate through hierarchical data.
source view controller
A data type that’s similar to a class, but doesn’t support inheritance and is passed by value instead of by reference.
Swift standard library
A set of data types and capabilities designed for Swift and baked into the language.
The object that receives the action message in the target-action pattern.
A design pattern in which one object sends a message to another object when a specific event occurs.
The ability of the Swift compiler to determine the type of a value from context, without an explicit type declaration.
A piece of code written specifically to test a small, self-contained piece of behavior in your app to make sure it behaves correctly.
To extract an underlying value from an optional.
user interface (UI)
The layer of visual elements that lets a user interact with a piece of software.
An area in Xcode that displays the inspector pane and .
A type of segue used to implement backward navigation.
A value that can change after it’s been initialized, indicated in Swift by the
A hierarchical representation of views relative to other views.