Chapter 10 Vocabulary

UIAlertControllerStyle.ActionSheet – used to present the user with a list of actions from which to choose from. This method is used if a user can back out of a decision or the action is not critical.

UIAlertControllerStyle.Action – used to display critical information o require the user to decide how to proceed.

Modal View Controller – takes over the screen until it has finished.

Design Pattern – solves common software engineering problems. Contains ideas and/or approaches to use in the application.

Types of Design Patterns:

  • Delegation – one objects gives certain responsibilities to another object.
  • Data Source – is responsible for providing data to another object when requested.
  • Model-View-Controller – each object fulfills a role:
    • model – data
    • view – displays the user interface
    • controller – ties the model and view together
  • Target-action pairs – one objects calls a method on another object

Chapter 9 Vocabulary

Model – holds data and knows nothing about the user interface.

View – is visible to the user and knows nothing about the model objects.

Controller – keeps the user interface and the model objects in sync and controls the flow of the application.

Designated initializer – ensures all properties in a class have a value.

Free initializer – init() is useful when all your class properties have default values and do not need new instances.

Convenience initializers – always call another initializer on the same class.

Dependency inversion principle – goal is to decouple objects in inverting dependencies between them. States that high-level objects should not depend on low-level objects, both should depend on abstraction. Also states that abstractions should not depend on details, details should depend on abstractions.

Dependency injection – high-level objects do not assume which low-level objects they need to use, instead they are passed through an initializer or property.

Chapter 8 Vocabulary

Animation – the act of bringing to life.

Basic Animation – animates between a start and end value.

Closure – is a discrete bundle of functionality that can be passed around your code. Functions and methods are a special case of closures.

Anonymously – passing closure directly into the method instead of assigning it to a variable or constant.

Linear– constant speed from beginning to end (.CurveLinear)

Ease-in– accelerating to constant speed and then ending abruptly (.CurveEaseIn)

Ease-out– beginning at full speed and then slowing down at the end (.CurveEaseOut)

Ease-in/Ease-out- (.CurveEaseInOut)

Allow user interaction– by default views cannot be interacted with when animating, this option overrides the default (.AllowUserInteraction)

Repeat– repeats animation indefinitely (.Repeat)

Autoreverse– runs animation forward and backwards and returns initial state (.Autoreverse)


Chapter 7 vocabulary

Internalization (i18n): making sure that cultural information such as language and currency are not hardcoded into the application.

Localization (L10n): The process of providing the appropriate data in the application based on the user’s Language and Region Format settings.

Main Bundle: is created when you build a target in Xcode. All the resources added to the target are copied to the bundle along with the executable itself.

Base Internalization: simplifies the process of localizing interface files.

Preview Assistant: previews how the interface will look across different screen sizes, orientations, and between different localized languages.

Pseudolanguage: helps internationalize the application before receiving translations for all the strings and assets.


Chapter 4 vocabulary

Property Observer: when a chuck of code gets called when a property’s value changes.

Number Formatter: used to customize the display of a number.

Delegation: common iOS design pattern and object-oriented approach to callbacks.

Callbacks: a function that is supplied in advance of an event and is called every time the event occurs.

Protocols: for every delegate role, there is a corressponding  protocol that declares the methods that an object can call on its delegate

Delegate Protocols: protocols used for delegation


Chapter 3 vocabulary

View Objects: is an instance of UTView or one of its subclasses, knows how to draw itself, can handle events, exists within a hierarchy of views whose root is the application’s window.

Subview: when a view is added to a window.

Framework: a collection of related classes and resources. ex/ UIKit is a framework.

CGRect: contains the members of origin and size.

Size Inspector: fifth tab of the utilities area.

Alignment Rectangle: similar to the frame, only shows the content used for alignment of the object.

Width/Height: determines the alignment rectangle’s size

Top/Bottom/Left/Right: determines the spacing between the given edges between different alignment rectangles.

Center X/Center Y: determine the center point of the alignment rectangle

Baseline: typically the bottom attribute.

Leading/Trailing: these are language specific attributes. If the language reads left to right the leading attribute is the same as the left attribute and the trailing attribute is the same as the right attribute.

Constraint: defines a specific relationship in view hierarchy that can be used to determine a layout attribute for one or more views.

Nearest Neighbor: closest sibling view in the specified direction. If there are no sibling views in the specified direction the nearest neighbor is the superview.

Intrinsic Content Size: the size that the view naturally wants to be.

Misplaced View: means the frame for the view in the Interface Builder is different than the frame that Auto Layout computed.

Chapter 2 vocabulary

Properties– values associated with a type

Initializers– code that initializes an instance of a type

Instance methods– functions specific to a type that can be called on an instance of that type

Class or static methods– functions specific to a type that can be called on the type itself

Optionals– allows a value of a specific type or no value at all to be stored

Playground– allows code to be written and checked without having to consistently run the application

Type Inference– the compilers infers the data type from the initial value

Arrays– ordered collection of elements of a certain type, can contain any type

Dictionaries– unordered collection of key value pairs, can contain any type

Sets– unordered number of elements of a certain type

Hashable– having a unique key or identity

Literals– a fixed value

Subscribing– short hand way of accessing an array

Trap– runtime error that stops the program prior to entering an unknown state

Instances– a particular embodiment of a type

Initializer– responsible for initializing the contents of a new instance of a type

Unwrapping– addressing the possibility of a variable’s value being nil

Optional binding– Safer way to unwrap an optional.

Tuples– ordered grouping of values similar with a distinct type

Chapter 1 vocabulary

Navigator Area– displays different navigators or tools that show you different parts of the project

Project Navigator– shows the different files that make the project

Editor Area– area that allows changes to be made in the file

Model Layer– holds data and doesn’t hold information about the user interface

View Layer– contains objects that are visible to the user ex/ buttons and labels

Controller Layer– location application is managed

Document Outline– shows the different components of the project

Canvas– shows the layout the application’s view will look like

Scene– represents the only view your application has at the time

Inspector– contains settings for the file or object selected

Library– displays items you can add to the file or project

Connection– lets on object know where another object is in memory

Outlet– a reference to an object

Action– method that gets triggered by objects

Constant– denoted by let, is a value that does not change

Variable– denoted by var, is a value that can change

Overriding– provides a custom implementation of a method already defined

Application icon– an image that represents the application in the iOS home screen

Resource– images and sounds used by the application at runtime

Launch image– image that appears when the application is loading