iOS Apprentice (Eighth Edition): Beginning iOS Development with Swift and UIKit

This document was uploaded by one of our users. The uploader already confirmed that they had the permission to publish it. If you are author/publisher or own the copyright of this documents, please report to us by using this DMCA report form.

Simply click on the Download Book button.

Yes, Book downloads on Ebookily are 100% Free.

Sometimes the book is free on Amazon As well, so go ahead and hit "Search on Amazon"

In this iOS programming book for beginners, you'll learn how to build five complete iOS and Swift apps by following easy step-by-step tutorials.

Series: iOS Apprentice
Edition: Eighth
Publisher: Razeware LLC
Year: 2019

Language: English
Pages: 1383
Tags: ios

Book License
About the Authors
About the Editor
About the Artist
Book Source Code & Forums
About the Cover
Chapter 1: Introduction
About this book
Is this book right for you?
iOS 13 and later only
What you need
Xcode
What’s ahead: An overview
The language of the computer
Chapter 2: Getting Started with SwiftUI
SwiftUI and UIKit
The Bullseye game
Getting started
Object-oriented programming
Adding interactivity
State and SwiftUI
Dealing with error messages
The anatomy of your app
Chapter 3: Building User Interfaces
Portrait vs. landscape
Adding the other views
Solving the mystery of the stuck slider
Data types
Making the slider less annoyingly precise
Key points
Chapter 4: Swift Basics
Generating and displaying the target value
Calculating and displaying the points scored
Writing your own methods
Improving the code
Key points
Chapter 5: A Fully Working Game
Improving the pointsForCurrentRound() algorithm
What’s the score?
One more round...
Key points
Chapter 6: Refactoring
Improvements
More refactoring
Starting over
Making the code less self-ish
A couple more enhancements
Key points
Chapter 7: The New Look
Landscape orientation revisited
Spicing up the graphics
The “About” screen
Chapter 8: The Final App
Adding a title to the navigation bar
Including animation
Adding an icon
Display name
Running the app on a device
The end… or the beginning?
Chapter 9: List Views
NavigationView and List views
Arrays
Loops
Deleting items from the list
Moving list items
Key points
Chapter 10: A “Checkable” List
Creating checklist item objects
A quick check before moving on
Toggling checklist items
Key points
Chapter 11: The App Structure
Design patterns: MVC and MVVM
Renaming the view
Adding a file for the model
Adding a file for the ViewModel
Structs and classes
Connecting the view to the ViewModel
What happens when you launch an app?
Key points
Chapter 12: Adding Items to the List
Setting up the user interface
Adding a new item to the list
Dealing with a SwiftUI bug
Improving the user interface
Key points
Chapter 13: Editing Checklist Items
Changing how the user changes checklist items
Giving checklist rows their own view
@Binding properties
Introducing extensions
Updating EditChecklistItemView
Key points
Chapter 14: Saving and Loading
Data persistence
The Documents directory
Saving checklist items
Loading the file
Next steps
Chapter 15: UIKit and The One-Button App
The Bullseye game
The one-button app
The anatomy of an app
Chapter 16: Slider & Labels
Portrait vs. landscape
Understanding objects, data and methods
Adding the other controls
Chapter 17: Outlets
Improving the slider
Generating the random number
Adding rounds to the game
Displaying the target value
Calculating the points scored
Showing the total score
Displaying the score
One more round...
Chapter 18: Polish
Tweaks
The alert
Start over
Chapter 19: The New Look
Landscape orientation revisited
Spicing up the graphics
The About screen
Chapter 20: Table Views
Table views and navigation controllers
Adding a table view
The table view delegates
Chapter 21: The Data Model
Model-View-Controller
The data model
Chapter 22: Navigation Controllers
Navigation controller
Deleting rows
Saving and loading high scores
Adding new high scores
The Edit High Score screen
Chapter 23: Edit High Score Screen
Static table cells
Working with the text field
Polishing it up
Chapter 24: Delegates & Protocols
Updating HighScoreItem
Chapter 25: The Final App
Supporting different screen sizes
Crossfade
UIKit knowledge unlocked!
Chapter 26: Swift Review
Variables, constants and types
Methods and functions
Making decisions
Loops
Objects
Protocols
Chapter 27: Get Location Data
Get GPS coordinates
Core Location
Displaying coordinates
Chapter 28: Use Location Data
Handling GPS errors
Improving GPS results
Reverse geocoding
Testing on device
Chapter 29: Objects vs. Classes
Classes
Inheritance
Overriding methods
Casts
Chapter 30: The Tag Location Screen
The screen
The new view controller
Making the cells
Displaying location info
The category picker
Chapter 31: Adding Polish
Improving the user experience
The HUD
Handling the navigation
Chapter 32: Saving Locations
Core Data overview
Adding Core Data
The data store
Passing the context
Browsing the data
Saving the locations
Handling Core Data errors
Chapter 33: The Locations Tab
The Locations tab
Creating a custom table view cell subclass
Editing locations
Using NSFetchedResultsController
Deleting locations
Table view sections
Chapter 34: Maps
Adding a map view
Making your own pins
Chapter 35: Image Picker
Adding an image picker
Showing the image
UI improvements
Saving the image
Editing the image
Thumbnails
Chapter 36: Polishing the App
Converting placemarks to strings
Back to black
The map screen
Fixing the table views
Polishing the main screen
Making some noise
The icon and launch images
Where to go from here?
Chapter 37: Search Bar
Creating the project
Creating the UI
Doing fake searches
UI Improvements
Creating the data model
No results found
Chapter 38: Custom Table Cells
Custom table cells and nibs
Changing the look of the app
Tagging commits
The debugger
Chapter 39: Networking
Query the iTunes web service
Sending an HTTP request
Parsing JSON
Working with the JSON results
Sorting the search results
Chapter 40: Asynchronous Networking
Extreme synchronous networking
The activity indicator
Making it asynchronous
Chapter 41: URLSession
Branching it
Putting URLSession into action
Cancelling operations
Searching different categories
Downloading the artwork
Merge the branch
Chapter 42: The Detail Pop-Up
The new view controller
Adding the rest of the controls
Showing data in the pop-up
Chapter 43: Polish the Pop-up
Gradients in the background
Animation!
Chapter 44: Landscape
The landscape view controller
Fixing issues
Adding a scroll view
Adding result buttons
Paging
Download the artwork
Chapter 45: Refactoring
Refactoring the search
Improving the categories
Enums with associated values
Spin me right round
Nothing found
The Detail pop-up
Chapter 46: Internationalization
Adding a new language
Localizing on-screen text
InfoPlist.strings
Regional settings
Chapter 47: The iPad
Universal apps
The split view controller
Improving the detail pane
Size classes in the storyboard
Your own popover
Sending e-mail from the app
Landscape on iPhone Plus
Dark mode support
Chapter 48: Distributing the App
Join the Apple Developer program
Beta testing
Submit for review
The end
Conclusion