Terminology Flashcards
action
A piece of code thats linked to an event that can occur in your app.
activity viewer
Part of the Xcode toolbar that displays messages about the build process and other information.
adaptive interface
A user interface (UI) that automatically adjusts so that it looks good in the context of the available screen space.
adopt
To indicate that a class, structure, or enumeration conforms to a protocol.
application programming interface (API)
A set of functions, classes, protocols, and other components that define how pieces of software should interact with each other.
app delegate
An object in your app (specifically, an instance of the AppDelegate class) that creates the window where your app’s content is drawn and that provides a place to respond to state transitions within the app.
application object
An object in your app that’s responsible for managing the life cycle of the app, communicating with its delegate, the app delegate, during state transitions within the app.
argument
A value you pass in to a function, method, or initializer to satisfy one of its parameters.
array
A data type that stores multiple values of the same type in an ordered list.
Attributes inspector
An inspector that you use to customize visual attributes of a user interface (UI) element in a storyboard.
asset catalog
A tool to manage assets like images that are used by your app as part of its user interface (UI).
assistant editor
In Xcode, a secondary editor window that appears side-by-side with your primary editor.
Auto Layout
A layout engine that helps lay out your user interface (UI) based on the constraints you specify.
base class
A class that’s at the root of its class hierarchy, meaning that it has no superclass.
canvas
The background of a storyboard where you add and arrange user interface (UI) elements.
class
A piece of code that describes the behavior and properties common to any particular type of object, essentially providing a blueprint for the object.
clean
Removes all the product files, as well as any object files or other intermediate files created during the build process.
class hierarchy
A hierarchical representation of a class’s relationships to its superclass and subclasses.
closed range operator
An operator (…) that lets you create a range of numbers that includes both the lower and upper values.
closure
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.
Cocoa Touch
The set of Apple frameworks and technologies used to develop iOS apps.
code completion
A feature of Xcode that infers what you’re trying to type from context and provides suggestions that you can select.
completion handler
A closure that’s passed as a parameter to a method that calls the closure when it finishes executing.
comment
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.
conditional statement
A control flow statement that checks whether a condition is true before executing a piece of code.
conform to
For a class, structure, or enumeration to satisfy the requirements of a protocol.
console
A value that’s initialized once and cannot change, indicated in Swift by the let keyword.
constraint
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.
content view
A view object that’s located at the top of a view hierarchy, serving as a container for the subviews in its hierarchy.
control
A specialized type of view (specifically, an instance of the UIControl class or one of its subclasses) that responds to user input.
convenience initializer
A secondary initializer, which adds additional behavior or customization, but must eventually call through to a designated initializer.
data model
The representation or structure of data within an app.
data source
An object that manages the app’s data model, providing a view object with the information it needs to display that data.
delegate
An object that acts on behalf of, or in coordination with, another object.
designated initializer
One of the primary initializers for a class; a convenience initializer within a class must ultimately call through to a designated initializer.
destination view controller
The view controller whose contents are displayed at the end of a segue.
downcast
To attempt to cast an object to one of its subclass types.
entry point
Where control enters a program or piece of code.
enumeration
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.
event-driven programming
A category of programming in which the flow of the app is determined by events: system events and user actions.
extension
A capability to add functionality to an existing type.
failable initializer
An initializer that could return nil after initialization.
first responder
An object that is first to receive many kinds of app events, including key events, motion events, and action messages, among others.
fix-it
A suggested fix for a compiler error in Xcode.
forced type cast operator
An operator (as!) that attempts a downcast and force-unwraps the result.
force-unwrap operator
An operator (!) placed after an optional value to access its underlying value.
function
A reusable, named piece of code that can be referred to from many places in a program.
Functions menu
In Xcode, a jump menu that lets you navigate directly to a specific declaration or section in a source code file.
gesture recognizer
An object that you attach to a view that allows the view to respond to actions the way a control does.
global
A constant, variable, or function defined at the top-level scope of a program.
guard
A guard statement declares a condition that must be true in order for the code after the guard statement to be executed. Using a guard statement for requirements improves the readability of your code, compared to doing the same check with an if statement.