Index
A
- Address section / Address section
- annotations
- creating / Creating and adding annotations
- adding / Creating and adding annotations
- Map View Controller, creating / Creating our Map View Controller
- custom annotations, creating / Creating custom annotations
- API
- about / What is an API?
- API Manager
- creating / Creating an API Manager
- about / Understanding a JSON file
- API Manager file
- exploring / Exploring the API Manager file
- App Delegate
- breaking down / Breaking Down our App Delegate
- App Store listing
- creating / Creating the App Store Listing
- App Tour
- about / App Tour
- archive build
- creating / Creating an archive build
- area, in Playgrounds
- PLAYGROUND EDITOR / Playgrounds – an interactive coding environment
- RESULTS PANEL / Playgrounds – an interactive coding environment
- WINDOW PANE CONTROLS / Playgrounds – an interactive coding environment
- DEBUG TOGGLE / Playgrounds – an interactive coding environment
- Play/Stop / Playgrounds – an interactive coding environment
- array literal
- set, creating with / Creating a set with an array literal
- arrays
- about / Arrays
- empty array, creating / Creating an empty array
- creating, with initial values / Creating an array with initial values
- mutable array, creating / Creating a mutable array
- items, adding to / Adding items to an array
- number of elements, checking / Checking the number of elements in an array
- value, retrieving from / Retrieving a value from an array
- iterating over / Iterating over an array
- items, removing from / Removing items from an array
- arrow
- adding, to custom Title view / Adding a Custom Label and an Arrow to Our Custom Title View
- auto layout
- about / Auto layout
- adding, to Restaurant list cell / Adding auto layout to our restaurant list cell
B
- Bar Button Items
- updating / Updating Bar Button Items
- basic notifications
- sending / Starting with the basics
- Booleans
- about / Booleans
- creating / Creating a Boolean
- bugs
- detecting / Debug and print() – detecting your bugs
- bundle identifier
- creating / Creating a bundle identifier
- buttons
- adding, to notifications / Adding buttons
C
- Cancel Button
- unwinding / Unwinding our cancel button
- Certificate Signing Request
- creating / Creating a Certificate Signing Request
- clear background
- adding, to custom title view / Adding a Clear Background to the Custom Title View
- closed range / Closed Range
- code
- organizing / Organizing your code
- Collection View Controller
- about / Collection View Controller
- comments
- about / Comments – leaving yourself notes or reminders
- adding, to code / Comments – leaving yourself notes or reminders
- constants
- about / Variables and constants – where data is held
- versus variables / Why constants versus variables?
- control flow
- about / Control flow
- for…in loop / The for…in loop
- while loop / The while loop
- repeat...while loop / The repeat…while loop
- Core Data
- about / What is Core Data?
- NSManagedObjectModel / NSManagedObjectModel
- NSManagedObjectContext / NSManagedObjectContext
- NSPersistentStoreCoordinator / NSPersistentStoreCoordinator
- Core Data Manager / Core Data Manager
- cuisine
- passing, to Restaurant list / Passing location and cuisine to the restaurant list
- Custom Label
- adding, to custom Title view / Adding a Custom Label and an Arrow to Our Custom Title View
- custom Title view
- creating / Creating a custom title view
- container, adding / Adding a container
- Custom Label, adding to / Adding a Custom Label and an Arrow to Our Custom Title View
- arrow, adding to / Adding a Custom Label and an Arrow to Our Custom Title View
- custom title view
- clear background, adding to / Adding a Clear Background to the Custom Title View
- custom UI
- adding, to notifications / Custom UI in notifications
D
- 3D touch quick actions
- adding / Adding 3D Touch quick actions
- data
- displaying, in Restaurant list cell / Displaying data in Restaurant list cell
- displaying, in Restaurant Detail view / Displaying data in the Restaurant Detail view
- passing, to Restaurant List View Controller / Passing data to our Restaurant List View Controller
- data model
- creating / Creating a data model
- entity auto-generation / Entity auto-generation
- items, reviewing / Review item
- data types
- about / Data types – where it all starts
- string / String
- integer data type / Integer data type
- floating-point numbers / Floating-point numbers
- Booleans (bools) / Booleans
- Debug panel, Xcode interface / Debug panel
- Design Clean Up
- about / Design clean up
- clear background, adding to custom title view / Adding a Clear Background to the Custom Title View
- UIStackView, updating / Updating the UIStackView
- arrow, updating / Updating our Arrow
- label, updating / Updating our Label
- button, adding / Adding a Button
- Collection View Controllers / Collection View
- modal, adding / Adding a Modal
- map kit view / Map Kit View
- crash, fixing / Fixing the Crash
- development provisioning profile
- creating / Creating a Development Provisioning Profile
- dictionary
- about / Dictionaries
- creating / Creating a dictionary
- item, accessing in / Accessing an item in a dictionary
- number of items, checking / Checking the number of items in a dictionary
- items, removing from / Removing Items from a dictionary
- dictionary elements
- adding / Adding and updating dictionary elements
- updating / Adding and updating dictionary elements
- dictionary keys
- iterating over / Iterating over dictionary keys, Iterating over dictionary keys and values
- dictionary values
- iterating over / Iterating over dictionary values, Iterating over dictionary keys and values
- dynamic cells / Adding the Data Source and Delegate
E
- elements
- positioning, in Restaurant list cell / Positioning elements in our restaurant list cell
- empty array
- creating / Creating an empty array
- checking for / Checking for an empty array
- empty set
- creating / Creating an empty set
- entity auto-generation / Entity auto-generation
- Explore tab
- about / Explore tab
- storyboard, creating for / Creating a New Storyboard for the Explore Tab
- external testing / Internal and External Testing, External testing
F
- favorites, adding within Restaurant List View
- about / Adding favorites
- new Model Object, adding / Creating a new model object
- Core Data manager, updating / Updating our Core Data manager
- files
- creating / Creating our files
- filters
- working with / Working with filters
- apply Filter View Controller, creating / Creating our apply Filter View Controller
- filter scroller
- creating / Creating our Filter Scroller
- floating-point numbers
- about / Floating-point numbers
- adding / Adding floating-point numbers
- for...in loop / The for…in loop
- functions
G
- Generic iOS Device, Xcode interface / Generic iOS Device
H
- half-closed range / Half closed Range
- Hungarian notation / Hungarian notation
I
- images
- embedding, in notifications / Embedding images
- iMessages
- about / Understanding iMessages
- extension, creating / Creating our extension
- assets, updating / Updating our assets
- UI, implementing / Implementing our Messages UI
- auto layout, adding to cell / Adding Auto Layout to our cell
- framework, creating / Creating a framework
- Message Cell, connecting / Connecting our message cell
- restaurants, displaying / Showing restaurants
- reservations, sending / Sending reservations
- initial values
- array, creating with / Creating an array with initial values
- Integers (Ints)
- about / Integer data type
- variables, creating with / Creating a variable with an Integer (Int)
- internal testing / Internal and External Testing, Internal testing
- iOS device, Xcode interface / iOS device
- items
- adding, to arrays / Adding items to an array
- removing, from arrays / Removing items from an array
- accessing, in dictionary / Accessing an item in a dictionary
- removing, from dictionary / Removing Items from a dictionary
- adding, into set / Adding items into a set
- removing, from set / Removing items from a Set
J
- JSON file
- about / Understanding a JSON file
L
- location
- selecting / Selecting a location
- selected location, passing to Explore View / Passing a selected location back to Explore View
- last selected location, obtaining / Getting the last selected location
- passing, to Restaurant list / Passing location and cuisine to the restaurant list
- location list
- about / Location list
- Locations view
- about / Locations
- Location View Controller
- used, for connecting Table View / Connecting our TableView with our Location View Controller
M
- Managed Object Context
- about / What is Core Data?, NSManagedObjectContext
- Managed Object Model
- about / NSManagedObjectModel
- map annotations
- setting up / Setting up map annotations
- MKAnnotation / What is an MKAnnotation?
- Map Data Manager
- creating / Creating our Map Data Manager
- base class, creating / Creating a base class
- ExploreDataManager, refactoring / Refactoring ExploreDataManager
- Map tab
- about / Map tab
- storyboard, creating for / Creating a New Storyboard for the Map Tab
- MKAnnotation
- about / What is an MKAnnotation?
- Restaurant annotation, creating / Creating a restaurant annotation
- Model
- developing / Model
- ExploreData.plist file / ExploreData.plist
- ExploreItem.swift file / ExploreItem.swift
- ExploreDataManager.Swift file / ExploreDataManager.Swift
- data, obtaining from plist / Getting Data
- Model View Controller (MVC)
- about / Model View Controller (MVC)
- Model View Controller (MVC) architecture
- about / Understanding the Model View Controller architecture, Controller
- Model camp / Model
- View camp / View
- Controller camp / Controller
- setup / Getting familiar with the setup
- classes and structures / Classes and Structures
- classes and controllers / Controllers and Classes
- file, creating in Controller folder / Creating our Controller
- CollectionView Controllers / Understanding Collection View Controllers and Collection View Cells
- CollectionView Cells / Understanding Collection View Controllers and Collection View Cells, CollectionView Cell
- data, displaying into CollectionView / Getting Data into Collection View
- data source / Understanding the Data Source
- grid, updating / Updating the Grid
- cell, connecting to / Connecting to Our Cell
- UI elements, hooking up with IBOutlets / Hooking up Our UI with IBOutlets
- mutable array
- creating / Creating a mutable array
- mutable set
- creating / Creating a mutable set
N
- Navigation Controller
- about / Navigation Controller
- Navigator panel, Xcode interface / Navigator panel
- notifications
- basic notifications / Starting with the basics
- setting up / Setting up notifications
- displaying / Showing notifications
- customizing / Customizing our notifications
- images, embedding / Embedding images
- buttons, adding to / Adding buttons
- custom UI, adding to / Custom UI in notifications
- NSManagedObjectContext
- about / NSManagedObjectContext
- NSManagedObjectModel
- about / NSManagedObjectModel
- NSPersistentStoreCoordinator
- about / NSPersistentStoreCoordinator
O
- operations, with Integers
- about / Operations with our Integers
- decrement / Increment and decrement
- increment / Increment and decrement
- comparison operators / Comparison operators
- if statement / If-Statements – having fun with logic statements
- optional bindings / Optionals and Optional Bindings
- optionals
- about / Optionals and Optional Bindings
- need for / Why optionals?
- option screen, Xcode / Getting started
P
- permission
- obtaining / Getting permission
- Persistent Store Coordinator
- Playground project
- creating / Creating a Playground project
- Playgrounds
- print()
- Production and Development certificates
- production provisioning profile
- creating / Creating a Production Provisioning Profile
- project
- creating / Creating a new project
- project setup
- about / Project setup
- Property List (plist)
- creating / Creating Our First Property List (plist)
- data, adding / Adding Data to Our Property List
- Location Data Manager file, creating / Creating Our Location Data Manager
- Data Manager, working with / Working with Our Data Manager
- Protocol Oriented Programming (POP) / Working with filters
R
- ranges
- about / Ranges
- closed range / Closed Range
- half-closed range / Half closed Range
- refactor
- about / Refactoring the Storyboard
- repeat...while loop / The repeat…while loop
- reservations
- about / Reservations
- times, adding / Adding reservation times
- information section / Reservation information
- header / Reservation header
- Restaurant cell class
- creating / Creating our restaurant cell class
- RestaurantDataManager file
- creating / Creating RestaurantDataManager
- Restaurant detail
- about / Restaurant detail
- restaurant detail
- creating / Creating our Restaurant detail
- exploring / Exploring Restaurant details
- refactoring / Refactoring restaurant detail
- Storyboard reference, creating / Creating a Storyboard reference
- mapping / Map to restaurant detail
- data, parsing / Passing data to Restaurant detail
- Restaurant Details view
- map update, performing / Map update
- updating / Updating restaurant details
- header layout, updating / Updating the header layout
- Table Details Section layout, updating / Updating the table details section layout
- No Reviews Layout, updating / Updating the No Reviews Layout
- Reviews Layout, updating / Updating the Reviews layout
- Map Section Layout, updating / Updating the Map section layout
- Restaurant Detail view
- about / Restaurant details
- data, displaying in / Displaying data in the Restaurant Detail view
- Restaurant list
- location, passing to / Passing location and cuisine to the restaurant list
- cuisine, passing to / Passing location and cuisine to the restaurant list
- background, modifying / Updating our background
- restaurant list
- building / Building our restaurant list
- Restaurant list cell
- updating / Updating our restaurant list cell
- elements, positioning in / Positioning elements in our restaurant list cell
- auto layout, adding to / Adding auto layout to our restaurant list cell
- data, displaying in / Displaying data in Restaurant list cell
- Restaurant List cell outlets
- setting up / Setting up restaurant list cell outlets
- Restaurant listing
- cell, about / Restaurant Listing
- restaurant listing page / Restaurant listing
- Restaurant listings
- about / Restaurant listings
- Restaurant List View Controller
- data, passing to / Passing data to our Restaurant List View Controller
- reviews
- creating / Creating Reviews, Creating reviews
- Reviews section
- about / Getting started with reviews
- Review Storyboard, setting up / Setting up the Review Storyboard
- Review Cells, updating / Updating the Review Cells
- UI elements, positioning / Positioning UI elements
- auto layout, adding / Adding Auto Layout for creating reviews
- Ratings View screen, adding / Adding Ratings View
- auto layout, adding for Ratings View section / Adding Auto Layout for Ratings View
- Photo Filter View, adding / Adding our Photo Filter View
- auto layout, adding for Photo Filter View / Adding Auto Layout for the Photo Filter View
- views, presenting as modals / Presenting our Views as Modals
- Unwind Segues, setting up / Setting up our unwind segues
- Unwind Segues, hooking up / Hooking up our unwind segues
- review images, creating / Creating review images
S
- segue
- about / Segue
- set
- about / Sets
- empty set, creating / Creating an empty set
- creating, with array literal / Creating a set with an array literal
- mutable set, creating / Creating a mutable set
- items, adding into / Adding items into a set
- items, checking in / Checking if a set contains an item
- iterating over / Iterating over a set
- two sets, intersecting / Intersecting two sets
- two sets, joining / Joining two sets
- items, removing from / Removing items from a Set
- Stack Views
- using / Using Stack Views
- Standard editor, Xcode interface / Standard editor
- star ratings
- creating / Creating star ratings
- cell UI, setting up / Setting up the cell UI
- auto layout, adding / Adding Auto Layout
- review list extension, adding / Adding Review List extension
- static Table View
- setting up / Setting up our static Table View
- restaurant details, exploring / Exploring Restaurant details
- section headers, creating / Creating our section headers
- labels, adding / Adding our labels
- Storyboard
- UI, updating / Updating UI in Storyboard
- Bar Button Items, updating / Updating Bar Button Items
- Cancel Button, unwinding / Unwinding our cancel button
- storyboard
- about / Storyboard, Storyboards, Refactoring the Storyboard
- setting up / Storyboard setup
- App assets, adding / Adding our App assets
- launch screen, creating / Creating our launch screen
- Navigation Controller, adding / Adding a Navigation Controller
- refactoring / Refactoring the Storyboard
- creating, for Explore tab / Creating a New Storyboard for the Explore Tab
- creating, for Map tab / Creating a New Storyboard for the Map Tab
- project folders, setting up / Folder Setup
- folders, organizing / Organizing folders
- global settings, setting up / Setting up Global Settings
- storyboard reference
- about / Refactoring the Storyboard
- string interpolation / String interpolation
- strings
- about / String
- variables, creating with / Creating a variable with a String
- concatenating / Concatenating strings
- Swift types / Classes and Structures
T
- Tab Bar Controller
- about / Tab Bar Controller
- Table View
- adding / Adding Our First Table View
- Edges, updating / Updating Our Edges
- View Controller Class, creating / Creating Our View Controller Class
- connecting, with Location View Controller / Connecting our TableView with our Location View Controller
- data source, adding / Adding the Data Source and Delegate
- delegate, adding / Adding the Data Source and Delegate
- Prototype Cell, creating / Creating a Prototype Cell
- code, exploring / Digging into Our Table View code
- locations, adding / Adding Locations to Our Table View
- Table View Controller
- about / Table View Controller
- table view controllers
- setting up / Setting up our table view controllers
- TestFlight / Internal and External Testing
- Toolbar, Xcode interface / Toolbar
- type inference / Type safety and type inference
- type safety / Type safety and type inference
U
- UI elements, hooking up with IBOutlets
- about / Hooking up Our UI with IBOutlets
- cell, selecting / Cell Selection
- UIStackView
- updating / Updating the UIStackView
- Utilities panel, Xcode interface / Utilities panel
V
- value
- retrieving, from array / Retrieving a value from an array
- variables
- about / Variables and constants – where data is held
- creating, with strings / Creating a variable with a String
- creating, with Integer (Int) / Creating a variable with an Integer (Int)
- versus constants / Why constants versus variables?
- View Controller
- about / View Controller
W
- while loop / The while loop
- Window Pane Controls, Xcode interface / Window Pane Controls
X
- Xcode
- downloading / Getting started
- installing / Getting started
- launching / Getting started
- option screen / Getting started
- Xcode interface
- about / The Xcode interface
- Navigator panel / Navigator panel
- Standard editor / Standard editor
- Utilities panel / Utilities panel
- Debug panel / Debug panel
- Toolbar / Toolbar
- Generic iOS Device / Generic iOS Device
- iOS device / iOS device
- Window Pane Controls / Window Pane Controls
- XML Interface Builder (xib) file / Creating star ratings
Y
- YELP
- about / What is an API?