Source Code
  • source code link
App Setup + The WelcomeController
  • Instructor & Course App Overview
  • Setting Up Our Application in appDelegate.swift without storyboards
  • Introduction to AutoLayout Constraints Programmatically
  • Build a Custom Gradient UIView by overriding CALayer as CAGradientLayer
  • UIColor Extensions + Convenience Initializers
  • Custom Hex Color Code Initializer
  • Static UIColor Class Variables + Why I am Teaching You The Way I Am
  • Creating and Placing the App Title Label on the Welcome Screen
  • Build a Custom UILabel Subclass
  • How to Use Custom Fonts in Xcode 9 and Swift 4
  • Putting the Welcome Message On The Screen
  • Copyright Label
  • Build a Custom UIButton Subclass
  • Button Animations Using CGAffineTransform
  • Programmatic ViewController Navigation Without Storyboards
Build The Header, Add Button, and Write Your First Protocol
  • Custom Header UIView
  • Placing our Custom HeaderView in the ListController
  • Placing Header GDLabels in the GDHeaderView
  • OptionSet(s) In Swift
  • Placing the Add Button Using UIlayoutConstraints (auto-layout in code)
  • How to Use Swift OptionSet(s) to Make our Front-end App Scale with Ease
  • How to Write a Custom Protocol for our GDHeaderView
Build a Popup View to Allow Users The Ability to Add ToDos
  • Building a PopupView by Subclassing GDGradient.
  • PopupView Buttons
  • Placing the Add Button and Giving our Buttons Selectors
  • Creating a Custom UITextField Subclass and Placing It In Our View
  • Styling our Custom UITextField Class
  • Adding Insets to our Custom UITextField
  • Using NSNotificationCenter to Retrieve Keyboard Height
  • Animating Views With CGAffineTransform and UIViewAnimations
  • Implementing the UITextFieldDelegate
  • Creating a Custom Protocol Delegate for the NewItemPopupView Class
  • Pass UITextField Text Through a Protocol Method to the ListController
  • Cancel Functionality and Keyboard TextField Animation Extension
Custom UITableView with Other Concepts
  • Build a Custom UITableView
  • Using AutoLayout to Place The TableView in the ListController
  • How to Use UITableViewCells in a UITableView
  • How to Put Unique Data Within A UITableViewCell
  • Build a Custom UITableViewCell
  • Building a "ToDo" Data Structure
  • Using ToDo Data in UITableViewCells
  • How to add Space Between UITableViewCells
  • Using A UITextField instead of a UILabel in the GDListCell class
  • Adding Insets our UITableView
  • Build a CheckBox Control
  • How to Toggle the CheckBox Button
  • How to Use Custom Icons In your Apps
  • How to Toggle the CheckBox PT 2
  • Using More than One Section in A UITableView with Titles
  • Using the Map and ForEach Functions in Swift to Count Cells based on ToDo Status
  • Filtering Item Data In Sections Correctly
  • Writing a Protocol for the GDListCell
  • Updating ToDo ListData
Header Fixes + Add New Item Popup View
  • Status Bar Color and Header Insets
  • Protocol Refactor
  • Updating The HeaderView Items Left Label with the Amount of Items Left ToDo.
  • Animating Views Off and On The Screen.
  • Setting Corner Radius on Specific Corners
  • Adding Functionality to the Cancel Button
  • Bug Fixes
  • UILayoutConstraint Animations
  • More Bug Fixes
Core Data. A Solid Introduction (basic models, entities, fetch queries + more)
  • Intro to Core Data and setup.
  • Inserting New ToDo Entities Into the CoreData View Context
  • How to Fetch an Array or Collection from CoreData stores.
  • More on Entities + Brief Refactoring to Utilize Our New ToDo Model.
  • Deleting Data From CoreData
  • Core Data Bug Fixes
  • Core Data WrapUp (for now)
NSUserDefaults
  • Using NSUserDefaults to Determine if the Application has Been Opened Before.