Introduction
  • Music Video App Demo
  • Meet Michael
  • Goals of the class - The Big Picture
  • Why take this course?
  • Course Roadmap - our journey together
Web Service Technologies
  • REST-API Concepts - the developers opportunity
  • JSON Fundamentals - unleash the power of data
  • Intro to the iTunes REST-API
  • Challenge 1
Object Oriented Programming Principles in Swift
  • Object Oriented Programming Principles
  • Classes and Objects
  • Inheritance
  • Polymorphism
  • Encapsulation
  • Abstraction
  • The power of OOP - iOS Frameworks and Foundation
  • Object Oriented Programming Principles
Key Concepts in iOS Development
  • Model-View-Controller Design Pattern
  • Model-View-Controller Communication Rules
  • Delegation and Protocols Design Pattern
  • Singleton Design Pattern
  • Application Lifecycle
  • View Controller Lifecycle
  • Key Concepts in IOS Development
Source Control Management
  • Git Basic Concepts - command-line tool
  • Add git repository manually to Xcode Project
  • GitHub - Web Based Git repository hosting system
  • Managing source code with Xcode and GitHub
  • Exercise - create free account with GitHub
  • Source Control Management
Building Our App Back-End
  • Overview of the Back-End Processing
  • Setting up our project
  • Part 1 Project Setup
  • Connect to the API
  • Part 2 NSURLSession
  • Convert the NSData to JSON
  • Part 3 NSJSONSerialization
  • Define the data model
  • Part 4 Create class with custom initializer
  • Exercise - Finish the custom initializer
  • Part 5 Review the completed custom initializer
  • Recap - what we learned so far....
  • Part 6 Call custom initializer to build array
  • Part 7 Obj-C Reachability bridging header
  • Part 8 Obj-C Reachability App Delegate
  • Part 9 Obj-C Reachability view controller
  • Part 10 Debugging tips
  • Challenge 2
User Interface - list screen Part 1
  • Overview of the User Interface
  • Table View vs. Table View Controller explained
  • Part 11 - Tableview
  • Part 12 - Table View Controller
  • Part13 - Reachability final touches
  • Objectives - Implement custom cell
  • Part 14 - Implement custom cell
  • Part 15 - Get image from the URL
  • Part 16 - App Transport Security
  • Part 17 - Preferred Fonts
  • Challenge 3
User Interface - detail screen Part 2
  • Part 18 - Create detail screen and setup UI
  • Part 19 - Pass data to detail screen from row selected
  • Part 20 - Size Classes
  • Exercise - Preferred Fonts
User Interface - settings page Part 3
  • Part 21 - Create and layout UI
  • Part 22 Create class and connect to storyboard
  • Part 23 -Switch and NSUserDefaults
  • Part 24 - Slider and NSUserDefaults
  • Exercise - Implement About screen
Featured Functionality - Part 4
  • Part 25 - AVPlayerViewController
  • Part 26 - UIRefreshControl
  • Part 27 - UIActivityViewController
  • Part 28 - MFMailComposeViewController
  • Part 29 - AuthenticationwithBiometrics
  • Our Design Session
  • Part 30 - Setup search bar and code datasource
  • Part 31 - Search - code our string matching
  • Part 32 - Class Extensions
  • Challenge 4
Where to Next?
  • App Store Review Guidelines
  • Our Journey never ends…
Bonus
  • Our Journey Continues
  • Part 33 - Swift 2.2 - New #selector syntax
  • Code review/optimize - Music Video Class
  • Code review/optimize APIManager
  • Part-34 - Optimize APIManager - Coding Session
  • NEW Music Video App Open Source Project - Challenge
  • NEW - Apple’s Annual World Wide Developer Conference - WWDC 2016
Bonus - SWIFT Coding Challenge