Video description
In these two LiveLessons videos, Paul Deitel presents everything you need to know to become an expert iOS programmer using the Swift programming language. In Swift Fundamentals LiveLessons, Deitel teaches core Swift programming concepts through his signature "live code" approach. In iOS 8 App Development Fundamentals LiveLessons, Deitel uses an app-driven approach each new technology is discussed in the context of seven fully tested iOS 8 apps.
Code examples used in the LiveLesson are available for download at: http://www.deitel.com/books/SwiftFP and here:
http://www.informit.com/content/images/9780133965445/downloads/iOS8FP1_examples.zip
Skill Level
Beginner-to-intermediate app developers who are familiar with a C-based object-oriented programming language
Who should take this course?
- Objective-C programmers who are developing new or modifying existing iOS and/or OS X apps, and who want to quickly begin using Swift in their apps
- Java, C++ and C# programmers who are new to iOS and OS X development, and who want to start developing iOS and/or OS X apps in Swift.
Course requirements (Familiarity with any C-based, object-oriented programming language, such as Objective-C, Java, C++ or C#. Objective-C experience is not specifically required.
Table of Contents
Swift Fundamentals
Part I
Before you begin
Lesson 1: Introduction to Swift and Xcode 6
Lesson 2: Introduction to Swift Programming
Lesson 3: Introduction to Classes, Objects, Methods and Functions
Lesson 4: Control Statements; Assignment, Increment and Logical Operators
Lesson 5: Functions and Methods: A Deeper Look; enums and Tuples
Lesson 6: Arrays and an Introduction to Closures
Part II
Lesson 7: Dictionary
Lesson 8: Classes: A Deeper Look and Extensions
Lesson 9: Structures, Enumerations and Nested Types
Lesson 10: Inheritance, Polymorphism and Protocols
Lesson 11: Generics
Lesson 12: Operator Overloading and Subscripts
iOS 8 App Development Fundamentals
Part I
Before You Begin
Lesson 1: Introduction to iOS 8 App Development and Swift
Lesson 2: Welcome App
Lesson 3: Tip Calculator App
Lesson 4: Twitter Searches App
Part II
Lesson 5: Flag Quiz App
Lesson 6: Cannon Game App
Lesson 7: Doodlz App
Lesson 8: Address Book App
IMPORTANT NOTE ABOUT XCODE AND SWIFT: With Xcode 6.3 and Swift 1.2, Apple introduced several changes in Swift that affect the book's source code. Please visit www.deitel.com/books/iOS8FP1 (the website for the book on which these videos are based) for updated source code. The changes do not affect Xcode 6.2 users. You can download Xcode 6.2 from developer.apple.com/downloads/index.action (you’ll have to log in with your Apple developer account to see the list of downloads).
Table of Contents
Introduction
Swift Fundamentals LiveLessons: Introduction to Part I
00:14:32
BeforeYouBegin: Setting Up Your Development Environment
Lesson Introduction
00:01:41
Before You Begin
00:09:03
Lesson 1: Introduction to Swift and Xcode 6
Lesson Introduction
00:02:03
Swift Introduction
00:25:58
Creating Swift Apps with Xcode 6: Creating a Playground
00:10:57
Creating Swift Apps with Xcode 6: Creating a Project
00:10:03
Lesson 2: Introduction to Swift Programming
Lesson Introduction
00:02:33
A First Swift Program: Printing a Line of Text
00:10:09
Displaying a Single Line of Text with Multiple Statements
00:00:49
Displaying Multiple Lines of Text with a Single Statement
00:01:44
Composing Larger Strings with String Interpolation—Introducing constants, variables, type inference, type annotations, built-in types, initialization and Identifier naming
00:11:08
Addition program—Introducing the arithmetic operators and overflow checking
00:12:05
The if Conditional Statement and the Comparative Operators
00:10:47
Lesson 3: Introduction to Classes, Objects, Methods and Functions
Lesson Introduction
00:02:56
Account Class: Defining a Class
00:10:05
Account Class: Defining a Class Attribute as a Stored Property
00:04:46
Account Class: Defining a public Stored Property with a private Setter
00:03:33
Account Class: Initializing a Class’s Properties with init
00:07:20
Account Class: Defining a Class’s Behaviors as Methods
00:05:07
Creating and Using Account Objects: Importing the Foundation Framework
00:02:49
Creating and Using Account Objects: Creating and Configuring an NSNumberFormatter to Format Currency Values
00:04:43
Creating and Using Account Objects: Defining a Function—formatAccountString
00:06:42
Creating and Using Account Objects: Creating Objects and Calling an Initializer
00:06:19
Creating and Using Account Objects: Calling Methods on Objects—Depositing into Account Objects
00:03:13
Creating and Using Account Objects: Calling Methods on Objects—Withdrawing from Account Objects
00:01:36
Value Types vs. Reference Types
00:06:53
Software Engineering with Access Modifiers
00:06:27
Lesson 4: Control Statements; Assignment, Increment and Logical Operators
Lesson Introduction
00:02:56
if and if…else Conditional Statements and the Ternary Conditional Operator (?:)
00:08:29
Compound Assignment Operators
00:01:24
Increment and Decrement Operators
00:04:01
switch Conditional Statement
00:12:16
while Loop Statement and an Introduction to the Xcode playground timeline
00:04:01
do…while Loop Statement
00:03:04
for…in Loop Statement and the Range Operators: Iterating over Collections of Values with Closed Ranges, Half-Open Ranges and the Global stride Function; Locating Documentation about Swift Standard Library Features.
00:09:59
for…in Loop Statement and the Range Operators: Compound-Interest Calculations with for…in
00:12:14
for Loop Statement
00:04:31
break Statement
00:01:04
continue Statement
00:01:08
Logical Operators
00:04:30
Lesson 5: Functions and Methods: A Deeper Look; enums and Tuples
Lesson Introduction
00:03:31
Multiple-Parameter Function Definition
00:07:34
Random-Number Generation: Rolling a Six-Sided Die 20 Times
00:04:48
Introducing Enumerations and Tuples: Dice Game Example; Tuples and Multiple Function Return Values; Tuples as Function Arguments
00:24:24
Scope of Declarations
00:09:10
Function and Method Overloading
00:05:26
External Parameter Names
00:11:31
Default Parameter Values
00:02:11
Passing Arguments by Value or by Reference
00:02:11
Recursion
00:02:11
Nested Functions
00:05:14
Lesson 6: Arrays and an Introduction to Closures
Lesson Introduction
00:05:46
Array overview
00:05:56
Creating and Initializing Arrays
00:11:47
Iterating Through Arrays
00:09:48
Adding and Removing Array Elements
00:11:01
Subscript Expressions with Ranges—Slicing an Array
00:06:51
Closures and Closure Expressions
00:03:02
Array Methods sort and sorted
00:17:42
Array Methods filter, map and reduce—Introduction to Internal Iteration
00:07:35
Filtering an Array
00:05:15
Mapping an Array’s Elements to New Values
00:01:55
Reducing an Array’s Elements to a Single Value
00:01:53
Combining Filtering, Mapping and Reducing
00:03:46
Card Shuffling and Dealing Simulation—Class Card and an Introduction to Computed Properties
00:06:01
Card Shuffling and Dealing Simulation—Class DeckOfCards, Reference-Type Arrays and an Introduction to Optionals
00:09:28
Card Shuffling and Dealing Simulation—Shuffling and Dealing Cards, and Unwrapping Optional Values with Optional Binding and the if Statement
00:11:31
Passing Arrays to Functions by value and by reference
00:08:03
Multidimensional Arrays
00:12:32
Variadic parameters
00:06:43
Introduction
Swift Fundamentals LiveLessons: Introduction to Part II
00:20:57
Lesson 7: Dictionary
Lesson Introduction
00:03:33
Dictionary overview
00:04:57
Declaring Dictionary Key-Value Pairs and Dictionary Literals
00:06:48
Delcaring and Printing Empty Dictionary Objects
00:04:29
Iterating through a Dictionary with for…in
00:04:57
General-Purpose Generic Dictionary Printing Function
00:03:36
Dictionary Comparison Operators == and !=
00:03:33
Dictionary count and isEmpty properties
00:03:18
Dictionary with Values that are Arrays
00:06:33
Dictionary Properties keys and values
00:06:32
Inserting, Modifying and Removing Key-Value Pairs with Subscripting
00:08:48
Inserting, Modifying and Removing Key-Value Pairs with Dictionary Methods
00:07:56
Builing a Dictionary Dynamically: Word Countsin a String
00:07:01
Lesson 8: Classes: A Deeper-Look and Extensions
Lesson Introduction
00:05:42
Time Class: Default Initializers and Property Observers
00:04:14
Stored Property Initialization and the Default Initializer
00:03:02
willSet and didSet Property Observers for Stored Properties
00:06:18
Computed Read-Only Properties universalDescription and description
00:03:22
Using Class Time
00:08:21
Class Time with Overloaded Designated and Convenience Initializers
00:10:06
Designated Initializers
00:06:39
Convenience Initializers and Initializer Delegation with self
00:02:38
Using Class Time’s Designated and Convenience Initializers
00:06:40
Failable Initializers in Class Time
00:15:20
Extensions to Class Time
00:07:26
Read-Write Computed Properties
00:09:42
Composition
00:07:06
Automatic Reference Counting, Strong References and Weak References
00:03:18
Deinitializers
00:01:37
Using NSDecimalNumber for Precise Monetary Calculations
00:06:29
Type Properties and Type Methods
00:12:52
Lazy Stored Properties and Delayed Initialization
00:03:00
Lesson 9: Structures, Enumerations and Nested Types
Lesson Introduction
00:03:18
Prefer Constants and Immutability By Default
00:04:41
Time struct Definition with Default and Memberwise Initializers
00:08:04
Custom Initializers extension to struct Time
00:04:52
Computed Properties extension to struct Time
00:02:27
Mutating Methods extension to struct Time
00:04:14
Testing the Time struct
00:07:09
Enumerations and Nested Types
00:03:57
Card struct with Nested Suit and Face enum Types
00:04:33
Nested enum Type Suit
00:06:28
Nested enum Type Face
00:03:59
Using enum Constants in switch Statements
00:02:00
DeckOfCards struct
00:07:07
Testing the struct Types Card and DeckOfCards, and the enum Types Suit and Face; Creating an enum Constant from a Raw Value
00:08:35
Choosing Among Structures, Enumerations and Classes in Your Apps
00:04:15
Associated Values for enums
00:03:50
Demonstrating Associated Values with Optional
00:06:49
Lesson 10: Inheritance, Polymorphism and Protocols
Lesson Introduction
00:03:36
Superclasses and Subclasses
00:02:11
An Inheritance Hierarchy
00:03:19
Utility Functions Used in Each of This Lesson’s Examples
00:04:20
Using Inheritance to Create Related Employee Types—Superclass CommissionEmployee
00:07:30
Using Inheritance to Create Related Employee Types—Subclass BasePlusCommissionEmployee
00:11:31
Using Inheritance to Create Related Employee Types—Testing the Class Hierarchy
00:13:18
Access Modifiers in Inheritance Hierarchies
00:04:16
Introduction to Polymorphism: A Polymorphic Video Game Discussion
00:05:01
Payroll System Class Hierarchy Using Polymorphism
00:02:42
Payroll System Class Hierarchy Using Polymorphism—Base Class Employee
00:04:17
Payroll System Class Hierarchy Using Polymorphism—Subclass SalariedEmployee
00:04:51
Payroll System Class Hierarchy Using Polymorphism—Subclass CommissionEmployee
00:03:34
Payroll System Class Hierarchy Using Polymorphism—Indirect Subclass BasePlusCommissionEmployee
00:02:53
Polymorphic Processing
00:14:42
Creating and Using Custom Protocols
00:10:27
Creating and Using Custom Protocols—Declaring Protocol Payable
00:07:49
Creating and Using Custom Protocols—Creating Class Invoice
00:11:43
Creating and Using Custom Protocols—Using Extensions to add Printable and Payable Conformance to Class Employee
00:04:26
Creating and Using Custom Protocols—Using Protocol Payable to Process Invoices and Employees Polymorphically
00:08:27
Additional Protocol Features
00:07:20
Using final to Prevent Method Overriding and Inheritance
00:01:21
Initialization and Deinitialization in Class Hierarchies—Basic Class-Instance Initialization
00:02:10
Initialization and Deinitialization in Class Hierarchies—Initialization in Class Hierarchies
00:03:39
Initialization and Deinitialization in Class Hierarchies—Overriding Initializers and Required Initializers
00:01:53
Initialization and Deinitialization in Class Hierarchies—Deinitialization in Class Hierarchies
00:01:40
Lesson 11: Generics
Lesson Introduction
00:03:52
Motivation for generic functions
00:04:45
Generic Functions: Implementation and Specialization
00:05:22
Type Parameters with Type Constraints
00:05:31
Generic Types—Implementing a Generic Stack Type
00:07:20
Generic Types—Testing the Generic Stack Type
00:06:42
Note About Associated Types for Protocols
00:01:28
Lesson 12: Operator Overloading and Subscripts
Lesson Introduction
00:04:20
Overview
00:02:15
String Operators and Methods: Variables and Constants
00:01:43
String Operators and Methods: Comparative Operators
00:03:31
String Operators and Methods: Custom String Unary Prefix Operator !
00:02:58
String Operators and Methods: Concatenation with + and +=
00:01:49
String Operators and Methods: Subscript Operator for Creating Substrings
00:03:44
String Operators and Methods: Other String Methods
00:03:57
Custom Complex Numeric Type with Overloaded Arithmetic Operators
00:09:34
Overloading Arithmetic Operators for Class NSDecimalNumber
00:03:50
Overloading Unary Operators ++ and –
00:10:45
Overloading Subscripts
00:13:42
Custom Operators Overview
00:06:54
Custom Generic Defining a Custom Exponentiation Operator for Type Int
00:06:22
Custom Generic Operators
00:05:40
Part 1 Introduction
Introduction to iOS 8 App-Development Fundamentals with Swift, Part I
00:21:07
BeforeYouBegin: Setting Up Your Development Environment
Lesson Introduction
00:02:16
Before You Begin: Configuring Your System for iOS Development
00:18:03
Lesson 1: Introduction to iOS 8 App Development and Swift
Lesson Introduction
00:01:53
Test-Driving the Completed Application Using the iPhone Simulator
00:14:32
Test-Driving the Completed Application on an iOS Device
00:08:56
Lesson 2: Welcome App Dive-Into® Xcode
Lesson Introduction
00:05:46
Test-Driving the Completed Welcome App
00:03:38
Technologies Overview
00:10:03
Creating and Configuring a Project
00:09:03
Xcode Workspace Window
00:07:42
Keyboard Shortcuts
00:01:23
Storyboarding the UI—Configuring Portrait and Landscape Orientations
00:02:53
Storyboarding the UI—Providing an App Icon
00:06:57
Storyboarding the UI—Creating an Image Set for the App’s Image
00:02:46
Storyboarding the UI—Overview of the Storyboard
00:04:25
Storyboarding the UI—Adding an Image View to the UI and Using Inspectors to Configure the Image View
00:07:13
Storyboarding the UI—Adding and Configuring the Label
00:08:23
Storyboarding the UI—Using Auto Layout to Support Different Screen Sizes and Orientations; Running the completed app
00:19:47
Making Your App Accessible
00:13:16
Internationalizating Your App
00:02:11
Locking Your UI
00:03:28
Exporting Your Ui’s String Resources
00:04:51
Translating the String Resources
00:07:02
Importing the Translated String Resources
00:04:08
Testing the App in Spanish in the Simulator or on a Device
00:06:22
Lesson 3: Tip Calculator App
Lesson Introduction
00:05:02
Technologies Overview—Swift Programming
00:03:21
Technologies Overview—Swift Apps and the Cocoa Touch Frameworks
00:02:13
Technologies Overview—Importing Frameworks; UI Components; View Controllers
00:03:01
Technologies Overview—Linking UI Components to Your Swift Code
00:02:19
Technologies Overview—Performing Tasks After a View Loads
00:03:01
Technologies Overview—Financial Calculations with NSDecimalNumber; Swift’s Numeric Types
00:02:40
Technologies Overview—Locale-Specific Numeric Formatting
00:01:02
Technologies Overview—Briding Between Swift and Objective-C
00:03:40
Technologies Overview—Operator Overloading
00:01:30
Technologies Overview—Variable Initialization and Swift Optional Types
00:03:39
Technologies Overview—Value Types vs. Reference Types
00:06:54
Creating the TipCalculator Project
00:03:08
Configuring the Size Classes for Designing a Portrait Orientation iPhone App
00:03:40
Adding the UI Components—Adding the “Bill Amount” Label
00:01:59
Adding the UI Components—Adding the Label That Displays the Formatted User Input
00:04:43
Adding the UI Components—Adding the “Custom Tip Percentage” Label and a Label to Display the Current Custom Tip Percentage
00:02:07
Adding the UI Components—Creating the Custom Tip Percentage Slider
00:01:43
Adding the UI Components—Adding the “15%” and “18%” Labels
00:02:23
Adding the UI Components—Creating the Labels that Display the Tips and Totals
00:06:21
Adding the UI Components—Creating the “Tip” and “Total” Labels to the Left of the Yellow Labels
00:02:01
Adding the UI Components—Creating the Text Field for Receiving User Input
00:04:21
Adding the Auto Layout Constraints—Adding the Missing Auto Layout Contraints
00:03:29
Adding the Auto Layout Constraints—Setting the Yellow Labels to Have Equal Widths
00:04:30
Adding the Auto Layout Constraints—Debugging the Missing “18%” Label
00:05:39
Creating Outlets with Interface Builder
00:09:48
Creating Actions with Interface Builder
00:07:06
Class ViewController—import Declarations
00:04:24
Class ViewController—Class Definition
00:03:34
Class ViewController—@IBOutlet Properties, Automatic Reference Counting and Property Attributes
00:08:55
Class ViewController—Other Properties
00:07:00
Class ViewController—Overridden Method viewDidLoad
00:06:54
Class ViewController—Action Method calculateTip
00:25:16
Class ViewController—Global String Formatting and Overloaded Operator Functions
00:08:06
Lesson 4: Twitter Searches App
Lesson Introduction
00:06:27
Test-Driving the Completed Twitter Searches App
00:18:16
Technologies Overview—Master-Detail Application Template
00:02:11
Technologies Overview—Web View and Displaying Web Content in An App
00:01:33
Technologies Overview—Swift: Array and Dictionary Collections
00:07:32
Technologies Overview—NSUserDefaults for Local Key-Value Storage of App Settings
00:01:57
Technologies Overview—iCloud Key-Value Pair Storage with NSUbiquitousKeyValueStore
00:03:08
Technologies Overview—Social Framework
00:01:52
Technologies Overview—Swift: Conforming to Protocols
00:02:51
Technologies Overview—Swift: Exposing Methods to Cocoa Touch Libraries
00:01:24
Technologies Overview—UIAlertController for Alert Dialogs
00:01:14
Technologies Overview—UILongPressGestureRecognizer
00:01:41
Technologies Overview—Model-View-Controller (MVC) Design Pattern
00:02:55
Technologies Overview—Other iOS Design Patterns Used in this App
00:03:01
Technologies Overview—Swift: External Parameter Names
00:06:25
Technologies Overview—Swift: Closures
00:02:27
Building the UI—Creating the Project
00:02:01
Building the UI—Examining the Default Master Detail Application
00:10:08
Building the UI—Configuring the Master and Detail Views
00:04:47
Building the UI—Creating Class Model
00:04:21
Model.swift—ModelDelegate Protocol
00:03:28
Model.swift—Model Properties
00:05:20
Model.swift—Model Initializer and synchronize Method
00:16:51
Model.swift—Model Methods tagAtIndex, queryForTag and queryForTagAtIndex, and Property count
00:03:34
Model.swift—Model Method deleteSearchAtIndex
00:05:52
Model.swift—Model Method moveTagAtIndex
00:02:17
Model.swift—Model Method updateUserDefaults
00:06:11
Model.swift—Model Method updateSearches
00:06:05
Model.swift—Model Method performUpdates
00:23:48
Model.swift—Model Method saveQuery
00:05:27
MasterViewController: Properties and modelDataChanged Method
00:10:53
MasterViewController: awakeFromNib Method
00:04:42
MasterViewController: Overridden UIViewController Method viewDidLoad and Method AddButtonPressed
00:12:52
MasterViewController: Methods tableViewCellLongPressed and displayLongPressOptions
00:13:04
MasterViewController: Method displayAddEditSearchAlert
00:13:22
MasterViewController: Method shareSearch
00:06:49
MasterViewController: Overridden UIViewController Method prepareForSegue
00:11:07
MasterViewController: Method urlEncodeString
00:03:13
MasterViewController: UITableViewDataSource Callback Methods
00:19:09
DetailViewController Class
00:10:27
Part 2 Introduction
Introduction to iOS 8 App-Development Fundamentals with Swift, Part 2
00:16:04
Lesson 5: Flag Quiz App
Lesson Introduction
00:05:27
Test-Driving the Completed Flag Quiz App
00:04:28
Technologies Overview—Designing a Storyboard
00:02:09
Technologies Overview—UINavigationController
00:01:05
Technologies Overview—Storyboard Segues
00:01:41
Technologies Overview—UISegmentedControls
00:01:41
Technologies Overview—UISwitches
00:01:18
Technologies Overview—Outlet Collections
00:02:24
Technologies Overview—Using the App‚Äôs Main NSBundle to Get a List of Image Filenames
00:03:25
Technologies Overview—Using Grand Central Dispatch to Perform a Task in the Future
00:03:18
Technologies Overview—Applying an Animation to a UIView
00:02:29
Technologies Overview—Darwin Module
00:01:02
Technologies Overview—Random-Number Generation
00:02:50
Technologies Overview—Swift Programming Language Features Used in This App
00:08:52
Creating the Project
00:02:42
Designing the Storyboard—Embedding the UIViewController in a UINavigationController
00:03:36
Designing the Storyboard—Configuring the View Controller for the Quiz Scene
00:02:28
Designing the Storyboard—Adding the View Controller for the Settings Scene and Creating a Segue from the Quiz Scene to the Settings Scene
00:04:18
Designing the Storyboard—Running the App in the Simulator to Test the Segue
00:00:52
Configuring the View Controller Classes
00:05:13
Creating the UI for the QuizViewController
00:09:22
Auto Layout Settings for the QuizViewController
00:09:13
QuizViewController Outlets and Actions
00:06:49
Creating the UI for the SettingsViewController
00:08:18
SettingsViewController Outlets and Actions
00:04:07
Creating Class Model
00:00:54
Adding the Flag Images to the App
00:01:46
Model Class—ModelDelegate Protocol
00:02:07
Model Class—Properties
00:03:19
Model Class—Initializer and regionsChanged Method
00:09:00
Model Class—Computed Properties
00:03:28
Model Class—Methods toggleRegion, setNumberOfGuesses and notifyDelegate
00:05:05
Model Class—Method newQuizCountries
00:02:35
QuizViewController Class—Properties
00:05:03
QuizViewController Class—Overridden UIViewController Method viewDidLoad, and Methods settingsChanged and resetQuiz
00:04:43
QuizViewController Class—Methods nextQuestion and countryFromFilename
00:11:08
QuizViewController Class—Method submitGuess
00:09:23
QuizViewController Class—Method shakeFlag
00:05:03
QuizViewController Class—Method displayQuizResults
00:03:04
QuizViewController Class—Overridden UIViewController Method prepareForSegue
00:01:47
QuizViewController Class—Array Extension shuffle
00:02:35
SettingsViewController Class—Properties
00:04:22
SettingsViewController Class—Overridden UIViewController Method viewDidLoad
00:02:37
SettingsViewController Class—Event Handles and Method displayErrorDialog
00:04:36
SettingsViewController Class—Overridden UIViewController Method viewWillDisappear
00:01:25
Lesson 6: Cannon Game App
Lesson Introduction
00:05:58
Test-Driving the Cannon Game App
00:04:54
Technologies Overview—Xcode Game Template and SpriteKit
00:01:59
Technologies Overview—Adding Sound with the AVFoundation Framework and AVAudioPlayer
00:00:49
Technologies Overview—SpriteKit Framework Classes
00:04:40
Technologies Overview—SpriteKit Game Loop and Animation Frames
00:06:28
Technologies Overview—Physics
00:02:53
Technologies Overview—Collision Detection and the SKPhysicsContactDelegate Protocol
00:04:32
Technologies Overview—CGGeometry Structures and Functions
00:04:04
Technologies Overview—Overriding UIResponder Method touchesBegan
00:01:34
Technologies Overview—Swift Features
00:03:23
Technologies Overview—NSLocalizedString
00:01:45
Creating the Project and Classes
00:10:29
Overview of the app created by the Game template
00:05:57
GameViewController Class—Overridden UIViewController Method viewDidLoad
00:13:18
GameViewController Class—Why are the AVAudioPlayer Variables Global
00:03:10
GameViewController Class—Autogenerated Methods that we deleted
00:02:18
Blocker Class—BlockerSize enum and Class Blocker’s Properties
00:06:44
Blocker Class—Initializers
00:15:45
Blocker Class—Methods startMoving, playHitSound and blockerTimePenalty
00:04:13
Target Class—TargetSize and TargetColor enums
00:02:24
Target Class—Properties
00:01:02
Target Class—Initializers
00:06:31
Target Class—Methods startMoving, playHitSound and targetTimeBonus
00:02:41
Cannon Class—Properties
00:03:18
Cannon Class—Initializers
00:04:53
Cannon Class—Method rotateToPointAndFire
00:05:34
Cannon Class—Method s fireCannonball and createCannonball
00:05:55
GameScene Class—CollisionCategory struct
00:03:56
GameScene Class—Properties
00:03:00
GameScene Class—Method didMoveToView
00:09:41
GameScene Class—Method createLabels
00:05:04
GameScene Class—SKPhysicsContactDelegate Method didBeginContact and Supporting Methods
00:05:47
GameScene Class—Overridden UIResponder Method touchesBegan
00:02:23
GameScene Class—Overridden SKScene Method update and Method gameOver
00:05:33
GameOverScene Class
00:05:31
Programmatic Internationalization
00:10:22
Lesson 7: Doodlz App
Lesson Introduction
00:03:29
Test-Driving the Doodlz App
00:06:48
Technologies Overview—UIView, drawRect, UIBezierPaths and the UIKit Graphics System
00:03:17
Technologies Overview—Processing Multiple Touch Events
00:02:50
Technologies Overview—Listening for Motion Events
00:01:48
Technologies Overview—Rendering the Drawing as a UIImage
00:02:35
Technologies Overview—Storyboard Loading and Initialization
00:01:13
Creating the Project
00:01:21
Creating the Initial View Controller’s User Interface
00:12:40
Creating the Color View Controller’s User Interface
00:17:24
Creating the Stroke View Controller’s User Interface
00:12:05
Adding the Squiggle Class
00:01:40
ViewController Class—Property; Delegate Methods
00:04:11
ViewController Class—Overridden UIViewController Method prepareForSegue
00:03:15
ViewController Class—Methods undoButtonPressed, clearButtonPressed and displayEraseDialog
00:03:14
ViewController Class—Overridden UIResponder Method motionEnded
00:02:01
ViewController Class—Method actionButtonPressed
00:02:20
Squiggle Class
00:06:37
DoodleView Class—Properties
00:02:46
DoodleView Class—Initializer
00:02:38
DoodleView Class—Methods undo and clear
00:02:29
DoodleView Class—Overridden UIView Method drawRect
00:02:09
DoodleView Class—Overridden UIResponder Methods for Touch Handling
00:06:59
DoodleView Class—Computed Property image
00:04:43
ColorViewController Class
00:08:12
StrokeViewController Class
00:06:27
Lesson 8: Address Book App
Lesson Introduction
00:04:18
Test-Driving the Address Book App
00:05:32
Technologies Overview—Enabling Core Data Support
00:02:15
Technologies Overview—Data Model and Xcode’s Data Model Editor
00:02:21
Technologies Overview—Core Data Framework Classes and Protocols
00:04:14
Technologies Overview—UITableView Cell Styles
00:01:39
Technologies Overview—UITableView Static Cells
00:00:49
Technologies Overview—Listening for Keyboard Show and Hide Notifications
00:01:18
Technologies Overview—Programmatically Scrolling a UITableView
00:01:11
Technologies Overview—UITextFieldDelegate Methods
00:00:57
Creating the Project and Testing the Default App
00:03:10
Editing the Data Model
00:04:32
Generating the Contact Subclass of NSManagedObject
00:07:28
Customizing the MasterViewController
00:05:14
Customizing the DetailViewController
00:09:47
Adding the AddEditTableViewController
00:18:58
Adding the InstructionsViewController
00:06:46
MasterViewController Class—Protocol Conformance, Properties and the awakeFromNib method
00:06:13
MasterViewController Class—Overridden UIViewController Method viewWillAppear and Method displayFirstContactOrInstructions
00:04:49
MasterViewController Class—Overridden UIViewController Method viewDidLoad
00:01:14
MasterViewController Class—Overridden UIViewController Method prepareForSegue
00:09:56
MasterViewController Class—AddEditTableViewControllerDelegate Method didSaveContact
00:06:36
MasterViewController Class—DetailViewControllerDelegate Method didEditContact
00:00:42
MasterViewController Class—Method displayError
00:01:08
MasterViewController Class—UITableViewDelegate Methods
00:08:57
MasterViewController Class—Autogenerated NSFetchedResultsController and NSFetchedResultsControllerDelegate Methods
00:06:00
DetailViewController Class—DetailViewControllerDelegate Protocol
00:00:42
DetailViewController Class—Properties
00:01:57
DetailViewController Class—Overridden UIViewController Method viewDidLoad and Method displayContact
00:02:49
DetailViewController Class—AddEditTableViewControllerDelegate Method didSaveContact
00:01:31
DetailViewController Class—Overridden UIViewController Method prepareForSegue
00:03:02
AddEditTableViewController Class—AddEditTableViewControllerDelegate Protocol
00:01:13
AddEditTableViewController Class—Properties
00:03:47
AddEditTableViewController Class—Overridden UIViewController Methods viewWillAppear and viewWillDisappear
00:04:01
AddEditTableViewController Class—Overridden UIViewController Method viewDidLoad
00:03:15
AddEditTableViewController Class—Methods keyboardWillShow and keyboardWillHide
00:07:54
AddEditTableViewController Class—UITextFieldDelegate Method textFieldShouldReturn
00:01:34
AddEditTableViewController Class—@IBAction saveButtonPressed
00:03:29
AppDelegate Class—UIApplicationDelegate Protocol Method application:didFinishLaunchingWithOptions:
00:02:48
AppDelegate Class—UISplitViewControllerDelegate Protocol Method
00:01:24
AppDelegate Class—Properties and Methods That Support the App’s Core Data Capabilities
00:02:53