Log In
Or create an account ->
Imperial Library
Home
About
News
Upload
Forum
Help
Login/SignUp
Index
Title Page
Copyright and Credits
Learn iOS 11 Programming with Swift 4 Second Edition
Packt Upsell
Why subscribe?
PacktPub.com
Contributors
About the author
About the reviewer
Packt is searching for authors like you
Preface
Who this book is for
What this book covers
To get the most out of this book
Download the example code files
Download the color images
Conventions used
Get in touch
Reviews
Getting Familiar with Xcode
Getting started
The Xcode interface
Navigator panel
Standard editor
Utilities panel
Debug panel
Toolbar
Generic iOS device
iOS device
Connecting wirelessly
Window pane controls
Summary
Building a Foundation with Swift
Playgrounds – an interactive coding environment
Data types – where it all starts
String
Integer data type
Floating-point numbers
Booleans
Variables and constants – where data is held
Creating a variable with a string
Creating a variable with an integer (Int)
Debug and print() – detecting your bugs
Adding floating-point numbers
Creating a Boolean
Hungarian notation
Why constants versus variables?
Comments – leaving yourself notes or reminders
Type safety and type inference
Concatenating strings
String interpolation
Operations with our integers
Increment and decrement
Comparison operators
Summary
Building on the Swift Foundation
Creating a Playground project
The if statements – having fun with logic statements
Optionals and optional bindings
Why optionals?
Functions
Summary
Digging Deeper
Creating a Playground project
Ranges
Closed range
Half-closed range
Control flow
The for...in loop
One-sided range
The while loop
The repeat...while loop
Summary
Digging into Collections
Arrays
Creating an empty array
Creating an array with initial values
Creating a mutable array
Adding items to an array
Checking the number of elements in an array
Checking for an empty array
Retrieving a value from an array
Iterating over an array
Removing items from an array
Dictionaries
Creating a dictionary
Adding and updating dictionary elements
Accessing an item in a dictionary
Iterating over dictionary values
Iterating over dictionary keys
Iterating over dictionary keys and values
Checking the number of items in a dictionary
Removing items from a dictionary
Sets
Creating an empty set
Creating a set with an array literal
Creating a mutable set
Adding items into a set
Checking if a set contains an item
Iterating over a set
Intersecting two sets
Joining two sets
Removing items from a set
Summary
Starting the UI Setup
Useful terms
View Controller
Table View Controller
Collection View Controller
Navigation Controller
Tab Bar Controller
Storyboard
Segue
Auto Layout
Model View Controller (MVC)
App tour
Explore tab
Locations
Restaurant listings
Restaurant detail
Map tab
Project setup
Creating a new project
Summary
Setting Up the Basic Structure
Starting from scratch
Storyboard setup
Adding our app assets
Storyboards
Creating our launch screen
Adding a Navigation Controller
Summary
Building Our App Structure in Storyboard
Adding a Collection View Controller
Hooking up our outlets
Creating a custom color
Setting up our cell
Section header
Updating the grid
Adding a modal
Updating Bar Button Items
Unwinding our Cancel button
Adding our first Table View
Summary
Finishing Up Our App Structure in Storyboard
Adding our Restaurant List View
Hooking up our outlets
Setting up our cell
Adding Reviews View
Viewing reviews
Map Kit View
Summary
Designing Cells
Setting up the Explore header
Adding Auto Layout to the Explore header
Setting up the Explore cell
Adding Auto Layout to the Explore cell
Setting up the Restaurant cell
Adding Auto Layout to the Restaurant cell
Location cell
Summary
Designing Static Tables
Setting up cells
Creating our section headers
Creating our address section
Adding Auto Layout to the headers
Photos section
Adding Auto Layout to the photos section
Reviews section
Adding Auto Layout to the Review cells
Updating the reservation times cells
Reservation information
Reservation header
Summary
Designing a Photo Filter and Review Form
Setting up our View Controllers
Adding our Photo Filter View
Adding Auto Layout for the Photo Filter View
Creating the Photo Filter View cell
Adding Auto Layout to our Photo Filter cell
Creating reviews
Setting up the Review storyboard
Creating a Review form
Updating the Review cells
Updating our first cell
Positioning UI elements
Adding Auto Layout for creating reviews
Refactoring the storyboard
Creating a new storyboard for the Map tab
Creating a new storyboard for the Explore tab
Summary
Getting Started with the Grid
Understanding the Model View Controller architecture
Getting familiar with the setup
Classes and structures
Controllers and classes
Creating our controller
Understanding Collection View controllers and Collection View cells
Getting data into Collection View
Understanding the data source
Summary
Getting Data into Our Grid
Model
ExploreData.plist
ExploreItem.swift
ExploreDataManager.swift
Getting data
Connecting to our cell
Hooking up our UI with IBOutlets
Restaurant listing
Summary
Getting Started with the List
Creating our Location View Controller class
Connecting our Table View with our Location View Controller
Digging into our Table View code
Adding the data source and delegate
Adding locations to our Table View
Creating our first property list (plist)
Adding data to our property list
Creating our location data manager
Working with our data manager
Creating folders
Summary
Where Are We?
Setting up map annotations
What is an MKAnnotation?
Creating a restaurant annotation
Creating our Map Data Manager
Creating a base class
Refactoring code
Refactoring ExploreDataManager
Creating and adding annotations
Creating our Map View Controller
Creating custom annotations
Map to restaurant detail
Creating a storyboard reference
Map to restaurant detail
Passing data to restaurant detail
Organizing your code
Refactoring ExploreViewController
Using the MARK comment
Refactoring RestaurantViewController
Refactoring MapViewController
Summary
Working with an API
Creating an API Manager
What is an API?
Understanding a JSON file
Exploring the API Manager file
Location list
Selecting a location
Adding a Header view
Passing a selected location back to Explore View
Unwinding our Done button
Getting the last selected location
Passing location and cuisine to the restaurant list
Creating our restaurant cell class
Setting up restaurant list cell outlets
Creating a restaurant data manager
Handling no data
Summary
Displaying Data in Restaurant Detail
Adding a navigation button
Displaying data in our static Table View
Summary
Foodie Reviews
Getting started with reviews
Displaying ratings in our custom UIControl
Adding our touch events
Setting up the unwind segues
Setting up our rating control
Creating our review form controller
Summary
Working with Photo Filters
Understanding filters
Creating our filter scroller
Creating a filter cell
Creating our apply filter view controller
Getting permission
Summary
Understanding Core Data
What is Core Data?
Creating a data model
Entity auto-generation
Restaurant Photo Entity
Review item
Core Data manager
Summary
Saving Reviews
Saving reviews
Saving photos
Setting up the cell UI
Adding Auto Layout
Adding an overall rating
Summary
Universal
Explore
Location listing
Restaurant listing
Updating restaurant details
Summary
iMessages
Understanding iMessages
Creating our extension
Updating our assets
Implementing our Messages UI
Adding Auto Layout to our cell
Creating a framework
Connecting our message cell
Showing restaurants
iMessage crashing
Sending reservations
Summary
Notifications
Starting with the basics
Getting permission
Setting up notifications
Showing notifications
Customizing our notifications
Embedding images
Adding buttons
Custom UI in notifications
Summary
Just a Peek
Adding 3D Touch quick actions
Adding favorites
Creating a new model object
Updating our Core Data manager
Summary
Drag and Drop
Accepting drag from other apps
Dragging and dropping filter items
Summary
SiriKit
Understanding SiriKit
Supported intents
Enable Siri capabilities
Creating users
Updating our intent handler
Testing Siri
Summary
Beta and Store Submission
Creating a bundle identifier
Creating a certificate signing request
Creating production and development certificates
Creating a production provisioning profile
Creating a Development Provisioning Profile
Creating an App Store listing
Creating an archive build
Internal and external testing
Internal testing
External testing
Summary
Other Books You May Enjoy
Leave a review - let other readers know what you think
← Prev
Back
Next →
← Prev
Back
Next →