abstraction
An abstraction groups things together, allowing you to think of the group as one easier-to-remember thing instead of trying to reason about all the elements separately. Programmers use abstraction to make decisions and reason about code without getting overwhelmed by details and complexity.
action
An action connects a method in source code and a control in Interface Builder, enabling the code to run when a user interacts with the app’s controls. For example, a certain method may be associated with a button tap or a switch update.
alert
Apps display alerts to present important information that requires immediate action. An alert interrupts the user’s interaction with the user interface of an app by appearing over it. An alert may simply have one OK button, or it may have several buttons with different actions. Tapping any of its buttons dismisses the alert, allowing the user to continue using the app.
algorithm
An algorithm is a series of steps that performs a task. An algorithm can be a simple pattern of steps you can do in your head, like an algorithm for deciding where to meet friends for lunch; or it can be a more complex series of steps that requires a lot of math, like an algorithm to calculate the pitch of a sound wave.
Analytics
Analytics, sometimes referred to as data analytics, is the discovery, interpretation, and communication of meaningful patterns in data. As individuals use the internet and the apps on their mobile devices, they leave behind trails of data that companies can use for analytics to understand patterns in user behavior.
application programming interface (API)
An API contains code that performs a specific set of tasks and provides a way for developers to use it. For example, a developer might write a lot of complex code that processes sound data. Instead of copying and pasting all those steps throughout their code wherever they need to use it, they write functions that will cause that complex code to run. These functions provide an interface to the sound processing code. Most developers only use the initials API to refer to such an interface, and may be surprised if you use the full phrase application programming interface.
argument
You use an argument to give an input value or values to a function. Informally, developers often use the word “argument” interchangeably with “parameter,” but officially the term argument references a function’s inputs from a perspective outside the function. For example, if a function like drawLine(from: startPoint, to: endPoint) is called, the arguments are startPoint and endPoint.
argument label
An argument label introduces the argument passed into the function, just like you might write your name (“Maya”) next to a name label (“Name”) on a form. If a function is declared as func drawLine(from fromPoint: Point, to toPoint: Point), the words from and to are argument labels because they’ll label the argument values when the function is called, as in drawLine(from: startPoint, to: endPoint).
array
You use an array to hold a list of items of the same type, keeping them in order. Items in an array don’t have to be unique; [“duck”, “duck”, “goose”] is a valid array that holds three elements.
asset catalog
The asset catalog in Xcode is the best place to keep all the images used in your app. Its file extension is .xcassets, and you can access it from the Project navigator.
assign, assignment
You use assignment to give a variable a value, whether when first declaring a variable or when updating its value.
Attributes Inspector
You use the Attributes Inspector to find out and update information about a selected object in a storyboard. For example, if you select an image view in your storyboard, the Attributes Inspector shows options to set its image, to change the way it stretches or scales to fill its space, and to change its opacity. The Attributes Inspector is one of several inspectors on the right side of Xcode’s user interface.
audience
In the context of app design, an audience is the set of users for whom the app is being created. For example, Xcode’s audience is app developers.
autocompletion
In addition to knowing the names of Swift library functions and common statements, Xcode tracks all the names you’ve defined. As you begin typing in your code, Xcode analyzes the characters, finds names that match, and displays a list suggestions in an autocompletion menu. Autocompletion makes it quicker to enter long identifiers and reduces potential errors from typos.
bias
Bias occurs when people favor one thing or idea above another. Everybody has biases, and they can often be harmful to individuals or groups of people. It’s important to be aware of biases you might have, especially when you create an app. You might embed your bias into the app’s design or into its code, which could cause it to behave in a way that unintentionally harms other people.
binary
Binary is the system of writing numbers using only two digits, in contrast to the decimal system, which uses the digits 0 through 9—the way people normally represent numbers. For example, the number 12 in decimal is represented as 1100 in binary.
binary search
Binary search is an efficient algorithm to find a value in a sorted list. The approach works by successively splitting finding the middle element and comparing the sought value to the middle element. If the value is greater, the first half of the list can be eliminated; if the value is less, the second half can be eliminated. If the value is equal to the middle element, the algorithm has found the value in the list. As opposed to linear search, binary search is more efficient because it doesn’t evaluate every item in the list—only those required to successively cut down the possibilities by half.
bit
A bit is the most basic element of digital data. Bits are represented in a computer using the values 0 and 1. By combining bits into groups and stringing them together, computers can represent any concept—from numbers to text to more complex data like video.
block
A block of code is a group of instruction steps.
body
A body is a very general term for lines of code that are grouped together in a pair of braces ({}). Swift code uses braces to separate many different kinds of code, so a body of code can be used for many different things. A body can hold the list of steps to run when an if statement’s conditional statement is true or when an enum case matches. A loop’s body holds all the steps to be performed for each item in the collection. A function body holds the instructions for the function’s implementation. A body of code is sometimes called a block.
Boolean
A Boolean type has only two possible values: true and false. Booleans are named after George Boole, a 19th century mathematician who realized how important it is to ask clear questions with simple answers. In Swift, the Boolean type is called Bool.
bug
A bug is a software problem. The problem can be code that doesn’t work the way you expect or a user interface element that causes users to make mistakes in the app.
build
To build your project, you tell Xcode to assemble all the parts of your code into an app. If any of the code doesn’t follow Swift’s rules, the project will fail to build until all the code errors are fixed. When used as a noun, build refers to the assembled version of the project constructed by Xcode. When someone asks for a new build of your app, they’re asking for a new version of your project constructed by Xcode out of the latest code files, media resources (such as images), and configuration files (such as plists).
bundle identifier, bundle ID
A bundle identifier or bundle ID is a string that uniquely identifies your app among all other apps in the world. Xcode automatically generates this value based on the product name and the organization identifier that you enter when you first create a new app. You can use these initial default values to build and run your app locally, but check out the App Distribution Guide Links to an external site. for advice on choosing final values to upload your app to the App Store.