The Complete iOS 7 Course - Learn by Building 14 Apps
Over 350+ videos taking you step-by-step through process of building 14 different applications in iOS 7 and XCode 5.
 Enroll in Course for $499

Our iOS Bootcamp teaches the tools needed to develop iPhone and iPad applications for iOS7. Along our journey, we will learn the syntax of Objective-C, the language used to develop for iOS, as well as important design patterns and best practices. By the end of the course, you should be able to understand and recreate many of the features seen on popular iOS applications and extend that knowledge to making apps of your own.

We believe students learn by building. That's why we have you build 14 apps during the course, with the final app being a full featured dating app: A Tinder Clone!

Topics Covered:

  • Objective-C: Learn the language used to develop all native iOS and Mac apps
  • Parse: A revolutionary new tool that allows iOS developers to create a server side in Objective-C
  • iOS7 and XCode 5: Learn the latest technology platforms from Apple
  • API Integration: Connect with third party APIs like Facebook, Foursquare and more
  • Storyboard: Learn how to create beautiful interfaces using Apple’s graphical interface builder
  • Core Data: Store data on your device with the core data database
  • Git: Learn how to us Git for version control and collaboration
  • Mixpanel: Integrate analytics into your apps

Reviews

"I must say that so far, this course is awesome. Having the challenging assignments, daily discussions and feedback from the instructors, has been the missing piece that I have been looking for. I have read a handful of books, watched hours of video & typed in a bunch of tutorials, and finally, having to work through tough assignments and applying what I have been learning, it is all starting to click - Finally!" - Mark S.

“Code Coalition's discussion board is one of the best resources for a beginning iOS developer. So much help being offered” - Omar S.

“I've just completed the iOS101 course, which I thought was a great intro to the XCode environment... I feel it's been well worth the investment. ” - Herdy H.

"Wow, @CodeCoalition! Moving quickly! Week 2 is so different than week 1...and I like it :) Thnx for the challenge" - Melissa B.

“Just discovered @CodeCoalition! An excellent resource for anyone who wants to make their first iPhone app.” -Novall K.

“Can't reiterate it enough how this course is helping me with my iOS dev skills. I think using protocols and delegation is finally becoming second nature. Fingers crossed :-)” -Alex P.

“I am really loving the class. I have taken classes at Code School & Treehouse and both were missing a key element. The ability to ask questions as you complete a section and get an answer. “ -Lisa A.

“Your training is the best out there so far. I wish I had the time away from regular job to follow along.” -Christian S.

“Im loving this.. I have been through at least 5 books, and many online deals. Yours is super so far. Finally, i can get from start to finish on a lesson without wondering why on "Everything" thank youCant wait to do more.. “ -Kevin R.

Why take this course and how much time does it take to complete?

iOS development, and software development as a whole, is a booming career. The demand for new developers at all levels far outweighs the supply. Barrier to entry is not as high as one would think - though passion and hard work are necessary, a degree in computer science or any other technical field is not required.

We aim to take you from complete beginner to junior developer in three months. The apps you create in this course can be used on your portfolio so you have something to show when you apply for jobs.

Course Outline:

  1. Introduction to XCode
  2. Control Flow and Enumeration
  3. What is Object Oriented Programming
  4. Memory Allocation
  5. Methods
  6. Properties
  7. Foundation
  8. Model View Controller
  9. Common Classes and Features
  10. Drawing and Graphics
  11. Core Data
  12. API’s
  13. Source Control

 Enroll in Course for $499
Your Instructor

Eliot regularly teaches iOS development classes and workshops at General Assembly and guest lectures for companies and development boot camps around NYC. He also taught the inaugural class for Coalition for Queens which focused on increasing diversity in iOS development. He also coaches students in a one-on-one environment with a focus on transitioning to full time development. Eliot cofounded and organizes the iOS Office Hours meetup NYC.

In his free time he works as a contractor for startups focusing on agile development.

Find me on twitter @EliotArntz - I check my direct messages quite frequently.

Course Curriculum
Section 1 - Your First App!
  Introduction (03:58)
  Opening XCode (06:07)
  Label Use (07:04)
  Buttons (09:54)
  Colors (04:58)
  UITextField (06:12)
  UINavigationController (07:00)
Section 2 - Resources
  Resources
Section 3 - Variables
  What is A Variable? (06:43)
  Intro to Commenting (03:05)
  Operations on Variables (05:44)
  Logging into the Console (03:51)
  Valid Variable Names (04:11)
  Tokens (05:14)
  Converting Units Part 1 (06:39)
  Converting Units Part 2 (06:21)
Section 4 - Challenge 1: Age of Laika
  Age of Laika
  Age of Laika Part 1 (05:14)
  Age of Laika Part 2 (03:34)
Section 5 - If Statements
  If Statements (05:32)
  BOOLS (03:03)
  If Statements Cont'd (04:33)
Section 6 - Challenge 2: For Loops
  Age of Laika Control Flow (05:29)
  For Loops (04:00)
  For Loops Part 2 (04:47)
Section 7 - Challenge 3: 99 Sodas
  99 Sodas (02:53)
Section 8 - Intro to Object Oriented Programming
  Create A New Project (02:07)
  What are Classes and Objects (03:15)
  Make Your Own Class (03:12)
  Header File (04:43)
  Implementation File (02:43)
Section 9 - Properties
  Properties (07:47)
  Instantiating an Object (01:05)
  Import (03:56)
  Instantiating an Object Cont'd (03:59)
  Setting Properties (09:56)
Section 10 - Methods
  Methods (03:03)
  Implementing our Methods (04:41)
  Methods with Arguements (06:13)
  Self Properties (05:48)
  Self Methods (05:33)
  Methods with Multiple Arguments (06:11)
  Methods with Return Values (06:05)
  Review (weekly recap) (07:06)
Section 11 - Challenge 4: Methods
  The Challenge
  Methods Solution (08:26)
Section 12 - Classes
  ADD SOME FLARE (UI ELEMENTS) (11:35)
  Multiple Dogs (10:47)
  NSMutableArray (02:07)
  Documentation (02:25)
  Multiple Dogs Continued (09:22)
Section 13 - Extra Credit: Animations
  EC: Animation (strictly for Extra Credit) (05:36)
Section 14 - Challenge 5: Debug Recurring Dog
  The Challenge
  Recuring Dog Pictures (03:13)
Section 15 - Inheritance
  Inheritance (02:30)
  Subclassing MBFDog (07:39)
  Implementing a Superclass Method (02:17)
  Super (01:27)
Section 16 - Object Continued
  The Difference Between Objects and Primitives (03:43)
  NSString (04:14)
  Iterating through an Array (07:43)
  What's Really Going On Properties (07:00)
Section 17 - Pirate Adventure Assignment: Prereq's
  NSArray Initializer and Embedded Array (05:38)
  CGPoint (02:20)
  Embedded If Statements (02:46)
  Buttons and AlertViews (05:30)
  Property of a Custom Class (02:46)
  Introduction to nil (video) (02:33)
Section 18 - Pirate Adventure Assignment
  Pirate Assignment
  Pirate Game Introduction (13:17)
Section 19 - Pirate Adventure Solutions: Parts 1 & 2
  Pirate Storyboard Setup (15:46)
  Hooking up the View (05:04)
  Creating our tile object (03:26)
  Factory Object (10:20)
  Factory Explained (04:04)
  Setting up the Initial Tile (08:05)
  Hiding our Buttons Dynamically (11:49)
  Navigating Between Tiles (04:59)
  Add a Story and Images (13:12)
Section 20 - A Review
  Review (week2 wrap) (09:48)
  You did it!
Section 21 - Pirate Adventure Solutions: Part 3
  Weapon and Armor Class (02:17)
  Creating a Character Class (03:24)
  Create a Character (05:56)
  Adding a Character to the Application (04:50)
Section 22 - Pirate Adventure Solutions: Part 4
  Updating the Tile Model (11:00)
  Implementing our Action Changes (06:03)
  Finishing our Action Changes (03:23)
  Create a Boss (02:30)
  Implementing our Boss (02:09)
  Alerting the User (04:01)
  Clean up and a Reset Button (03:20)
Section 23 - Pirate Adventure Wrap Up
  Pirate Assignment Solution
Section 24 - Terminal and Git
  Terminal (06:10)
  Git Part 1 (09:53)
  Git Part 2 (04:13)
Section 25 - Introduction to MVC
  MVC Overview (03:48)
  Communication between the View Controller and Model/Views (03:09)
  Communication from the View and Model to the View Controller (06:06)
Section 26 - Introduction to UITableView
  Practice Using UITableView (03:38)
  New Project (08:39)
  A Quick Look at our Data Source (05:31)
  NsIndexPath (02:44)
  NSIndexPath Cont'd (03:30)
  Having our TableView display our Model (06:33)
  Model (02:44)
Section 27 - Third Party Library
  NSDictionary (05:45)
  Utilizing our new Model (04:30)
  NSNumber (03:12)
  #define (02:03)
  Literals Review (03:39)
  Class Methods (02:30)
Section 28 - Review
  Section 3 Review (11:22)
Section 29 - Challenge 6: UITableViewController
  The Challenge
  UITableViewController Solution (12:09)
Section 30 - Models and Space Object
  Making a SpaceObject Class (02:06)
  Literals Cont'd (01:15)
  Custom Initializers (15:46)
  Lets Create and Use Space Objects (10:14)
Section 31 - Challenge 7: User Data Model
  The Challenge: User Data Model
  Solution Part 1 (13:38)
  Solution Part 2 (05:41)
Section 32 - Transitioning to a Second View Controller
  UINavigationController (04:30)
  Push Segue (02:23)
  Setting up our Second View Controller (04:34)
Section 33 - UIScrollView
  UIScrollView - A Closer Look (02:28)
  Setting up our UIScrollView (03:22)
  Zooming (03:50)
  Setting our ViewController as a Delegate (07:35)
Section 34 - Challenge 8: UIScrollView
  The Challenge
  UIScrollView Solution (07:42)
Section 35 - Passing Data between View Controllers
  Passing Data Forward (03:02)
  id and introspection (02:08)
  Implementing Introspection and Passing the Data (10:48)
  Passing information to Proxy Properties instead of Outlets (04:47)
Section 36 - Challenge 9: Passing Data
  The Challenge
  Passing Information to another ViewController Solution (09:23)
Section 37 - Displaying our SpaceData
  Adding another UITableView Part 1 (05:34)
  Adding Another UITable Part 2 (10:08)
  Writing the Logic behind our Space Data Table View Controller (10:21)
  Adding a Method from our UITableViewDelegate (04:48)
  Performing the Segue (07:43)
Section 38 - Challenge 10: UITableView
  The Challenge
  UITableView Solution (08:56)
Section 39 - Review
  Review (07:55)
Section 40 - Introduction to Protocols and Delegation
  Chance of us Discovering a New Planet (06:55)
  Designing our New View Controller (12:16)
  One more Segue! (03:56)
  Protocols in Objective-C (11:28)
Section 41 - Implementing our Own Protocls
  Our Own Protocol Part 1 (05:50)
  Our Own Protocol Part 2 (04:01)
  Our Own Protocol Part 3 (02:52)
  Our Own Protocol Part 4 (03:25)
  Our Own Protocol Part 5 (04:07)
Section 42 - Finishing Touches on Protcols
  Reload Data (04:18)
  Loose Ends (03:17)
  Solution - No More Mercury (05:12)
  Lazy Instantiation (06:44)
Section 43 - Challenge 11: Protocols and Delegation
  The Challenge
  Protocols and Delegation Solution (06:45)
  Protocols and Delegation Extra Credit (04:43)
Section 44 - Intro to Persistence
  Persistence Overview (02:15)
  NSUserDefaults (03:45)
Section 45 - Data Persistence NSUserDefaults
  Getting our Space Objects into Tip Top Property List Shape (06:32)
  Back to our NSUserDefaults (07:51)
  Retrieving our Data (06:00)
  Deleting some Cells from out UITableView (08:05)
Section 46 - Challenge 12: NSUserDefaults, Segues and Protocols
  The Challenge
  NSUser Defaults, Segues and Protocols Solution Part 1 (13:45)
  NSUser Defaults, Segues and Protocols Solution Part 2 (03:57)
  NSUser Defaults, Segues and Protocols Solution Part 3 (07:54)
  NSUser Defaults, Segues and Protocols Solution Part 4 (06:37)
  NSUser Defaults, Segues and Protocols Solution Part 5 (05:34)
  NSUser Defaults, Segues and Protocols Solution Part 6 (02:45)
Section 47 - Review
  Review (06:56)
Section 48 - Overdue Task List Assignment: Prereq's
  .PCH File (03:01)
  TextView and the Keyboard (05:17)
  NSDate, Datepicker, NSDataFormatter and TimeInterval (06:31)
  Insert and Remove Objects from a NSMutableArray (03:40)
Section 49 - Overdue Task List Assignment
  Overdue Task List Assignment
Section 50 - Overdue Task List Assignment: Part 1
  Setting up the Storyboard Part 1 (05:52)
  Setting up the Storyboard Part 2 (06:03)
  IBOutlets (06:43)
Section 51 - Overdue Task List Assignment: Part 2
  Setup our #defines (02:25)
  Creating a Task Model (03:49)
  Implement the Custom Initializers (04:01)
Section 52 - Overdue Task List Assignment: Part 3
  Protocol for the Cancel and Add Task Buttons (03:42)
  Call the Delegate Methods in the Cancel and AddTask Actions (03:08)
  An Array to hold the Tasks (03:10)
  Implementing the Delegate Methods and Saving the Task (10:29)
  Segue to the AddTaskViewController (04:53)
Section 53 - Overdue Task List Assignment: Part 4
  Access NSUserDefaults to Setup the taskObjects Array (04:00)
Section 54 - Overdue Task List Assignment: Part 5
  Setup the ViewController's TableViewDataSource (09:42)
Section 55 - Overdue Task List Assignment: Part 6
  Color Coding the UiTableViewCells (05:31)
  Completing a Task (09:57)
Section 56 - Overdue Task List Assignment: Part 7
  Delete a Task (05:13)
Section 57 - Overdue Task List Assignment: Part 8
  Displaying Information in the DetailViewController (06:15)
Section 58 - Overdue Task List Assignment: Part 9
  Reorder Tasks (05:51)
  Persisting the Reorder (04:04)
Section 59 - Overdue Task List Assignment: Part 10
  Setting up the EditViewController (05:32)
  Saving the EditViewController Changes with a Delegate (02:21)
  Implementing the EditViewController Delegate (07:12)
  Implementing the DetailViewController Delegate (02:51)
Section 60 - Overdue Task List Assignment: Part 11
  Make the Keyboards Go Away! (05:51)
Section 61 - Overdue Task List Assignment: Solution
  Overdue Task List Solution
Section 62 - A Deeper Look into Views
  Subviews (04:42)
  Difference between a View's Frame and Bounds (02:21)
  A Deeper Look into a View's Frame and Bounds Part 1 (08:37)
  A Deeper Look into a View's Frame and Bounds Part 2 (04:13)
Section 63 - Creating Views Programatically
  Adding a UIView Programmatically (07:12)
  Adding UIButton Programmatically (04:12)
  Target Action (07:23)
Section 64 - Challenge 13: Custom Views
  The Challenge
  Custom Views Solution (08:59)
Section 65 - Autolayout and Constraints
  Explore Autolayout (05:23)
  Demo Autolayouts Part 1 (11:42)
  Demo Autolayouts Part 2 (05:32)
Section 66 - Further Exploration of Views
  View Controllers Lifecycle (03:27)
  Custom Views (06:14)
Section 67 - Introduction to UIBezierPaths
  Drawing with UIBezierPath Part 1 (08:31)
  Drawing with UIBezierPath Part 2 (05:40)
Section 68 - Challenge 14: UIBezierPath
  The Challenge
  UIBezierPath Solution (06:31)
Section 69 - Another UIBezierPath
  Switch to an iPad Application (08:41)
  More UIBezierPath (04:42)
  Creating our Path (07:46)
  Create a PathView Class (03:12)
Section 70 - Creating a UIBezierPath on our Mountain
  How Storyboard Files are Saved (04:49)
  Talk about Code Snippets (04:45)
  Finishing our Mountain Path (02:03)
Section 71 - Gesture Recognizers and Screen Interaction
  Gesture Recognizers (10:24)
  Pan Gesture Recognizers (03:10)
Section 72 - Scoring for our MountainPath
  Detect a UIBezierPath Hit (07:15)
  NSTIMER (03:13)
  Adding a Score (07:46)
  Finishing Touches on our Maze (08:34)
Section 73 - Theory: Memory Management
  Memory Management Detour (03:41)
  Object Ownership Strong and Weak (04:43)
  Retain Cycle they are Bad (04:30)
Section 74 - Setting up our New Project
  Beginning a New Journey (03:13)
  Starting our New Application and the App Delegate (07:39)
  Adding a Storyboard and a UITableViewController (08:38)
Section 75 - Introduction to CoreData
  Core Data an Initial Light Dusting (03:11)
  Updating our xdatamodel (07:32)
Section 76 - UIAlertView
  Adding a New Album with UIAlertView (05:23)
  UIAlertViewDelegate (06:04)
Section 77 - Our CoreData
  It;s Alive! Creating our First NSManagedObjectSubclass (11:50)
  Nsmanage ObjectSubclass a Quick Review (03:29)
  Finally Creating an Album (07:09)
Section 78 - Accessing our Models from CoreData
  Querying our Database for Objects (10:37)
  Review Accessing Objects from our Database (02:46)
  A Quick Refactor (08:25)
Section 79 - UICollectionViewController
  UICollectionViewController (10:42)
  Getting a Photo on those Slides (10:04)
Section 80 - UIImagePickerController
  UIImagePickerController (07:28)
  UIImagePickerController Delegate (05:31)
  Grabbing our Photo from UIImagePickerController (05:13)
Section 81 - A Photo Model
  Adjust our Core Data Model (07:20)
  Filling out our TWPIctureDataTransformer (06:59)
Section 82 - Saving a Photo
  Creating and Storing our Photos (06:53)
  Implementing, Creating, and Storing the Photos (02:25)
Section 83 - Further Photo Intergration
  Prepare the Segue Practice (05:00)
  Querying the Photos and Debugging (08:01)
Section 84 - Deleting a Photo
  Adding a Photo DetailViewController (06:05)
  Deleting a Photo from Core Data (08:51)
  Fixing the Bug (06:17)
Section 85 - Preparing for Image Filters
  Adding a CollectionViewController for the Filters (05:43)
  Creating Filters (02:34)
  CollectionView DataSource Methods (07:35)
Section 86 - Image Filts
  Adding our Filters (12:20)
  Through our Filters (09:14)
  Saving our Filters (06:12)
Section 87 - Multithreading
  Why is our App Slow (04:53)
  GCD and Threading Overview (05:03)
  Blocks (04:52)
Section 88 - Blocks and Grand Central Dispatch
  Creating a Block and Implementing it (04:58)
  GCD Example (07:21)
  Fixing our Bug (03:49)
Section 89 - Getting Ready for Parse
  Install Ruby and Ruby Gems (08:31)
  What is CocoaPods and Installation (02:27)
  Sign Up for Parse (04:21)
  What is Parse and Why use it (06:31)
  Installing Parse (05:51)
  Installing Parse The Hard Way (04:38)
Section 90 - Testing Parse
  Is Parse Working (05:01)
  Testing Parse Storyboard Setup (04:25)
Section 91 - PFObjects
  Creating PFObjects (03:43)
  Saving PFObjects (03:38)
  Querying for the PFObjects (06:11)
Section 92 - Final Project: Matchedup
  Matchedup (07:46)
  Setting up Parse (04:21)
  Sign up and Setting up Facebook (04:00)
  Integrating Facebook (06:58)
  Installing Facebook the Hard Way (02:47)
Section 93 - Matchedup: Login Functionality
  Login Functionality (10:18)
  PFUser (02:22)
  Saving User Information (11:36)
Section 94 - Matchedup: The API Response
  A Deeper Look in Facebook's API (02:07)
  Global Constants (08:34)
  Implementing Our Constants (02:37)
  Prep to Save a Photo Creating Constants and a URL (07:14)
  Saving the Image with a PFFile (07:26)
  Hitting the URL (07:22)
  Implementing NSURLConnection Delegates (03:20)
  What if the User is Already Logged in? (03:57)
  Adding a Picture to the ProfileViewController (07:40)
Section 95 - Matchedup: Next Steps
  Wireframes (01:01)
  Storyboard Refactor (01:28)
Section 96 - Matchedup: Adding the ViewController's
  Add a HomeViewController (10:09)
  Add a SettingsViewController (08:23)
  Add a EditProfileViewController (06:52)
  Add a ProfileViewController (06:33)
  Refactor Login View Controller (07:29)
  Setting up the HomeViewController (07:57)
Section 97 - Matchedup: Managing Actions
  Downloading the Home Photo (06:50)
  Updating the Home View's Information (03:06)
  Loading the Next Photo (03:40)
  Save a Like (08:30)
  Save a Dislike (03:20)
  Check for Likes (03:25)
  Check for Dislikes (02:59)
  Implement our Helper Methods (02:07)
  Doing a Initial Query for Likes (11:59)
  Creating Global Constants for the HomeViewController (05:35)
  Implementing Constants in the HomeViewController (07:46)
Section 98 - Matchedup: Managing User Profiles
  Creating a Test Users (12:42)
  Implementing the ProfileViewController (07:33)
  Global Constants for the Settings Page (02:51)
  Setting Initial Values and Preparing the Slider and Switches (05:20)
  Sliders and Switch Changes (05:49)
  Loading the EditProfileViewController (03:15)
  Saving the TagLine (02:00)
  Logging Out (02:36)
Section 99 - Matchedup: Storyboard Setup
  Storyboard Setup Match (06:52)
  Storyboard Setup Matches (03:13)
  Storyboard Setup Chat (06:25)
Section 100 - Matchedup: Chat Prep
  Check for Users Likes (05:53)
  Create a ChatRoom (10:33)
Section 101 - Matchedup: MatchViewController
  Prepping the MatchViewController (02:51)
  Implementing the MatchViewController (05:34)
  Adding a Delegate to the MatchViewController (05:40)
Section 102 - Matchedup: Chat Setup
  Finding Available Chats (07:30)
  Presenting Available Chats (08:19)
  Adding a Picture to the Chat List (06:39)
  Selecting a ChatRoom (03:27)
  Prepare the ChatViewController (03:11)
Section 103 - Matchedup: Implementing Chats
  Getting Started Implementing Chats (05:29)
  didSendText (05:29)
  messageTypeForRowAtIndexPath (02:47)
  bubbleImageViewWithType (02:29)
  Additional Methods (03:11)
  Optional Methods (02:03)
  Required (03:32)
Section 104 - Matchedup: Check/Refresh Chats
  Check for Chats (05:29)
  Refreshing our Chat (03:36)
  Testing Chats (05:02)
Section 105 - Matchedup: Settings
  Setup Defaults Settings (07:37)
  Allow Photo Helper Method (08:27)
  Implement the Allow Photo (04:28)
Section 106 - Matchedup: Constants
  Constants for ChatRoom and Chat (04:35)
  Implementing Constants (05:56)
Section 107 - Matchedup: Assets
  Asset Library (03:01)
  Setting a Global Nav Bar (03:03)
  Assets Login ViewController (03:37)
  Asset Home ViewController (13:50)
  Assets Profile ViewController (08:39)
  Finishing up the Profile ViewController (07:49)
  Assets Matches ViewController (01:23)
  Update the ChatViewController (02:29)
  Assets Setting ViewController (02:32)
  EditProfile View Controller (07:32)
Section 108 - Matchedup: Transition
  MatchViewController (04:46)
  Create a Transition Class (03:34)
  Conform and Implement UIViewControllerTransitioningDelegate (09:14)
Section 109 - Matchedup: MixPanel
  Getting Started with MixPanel (02:57)
  Implement MixPanel (03:59)
  Using MixPanel (03:43)
Section 110 - You did it!
  You did it!
Section 111 - Requested Topic: MVC Review
  MVC Review Part 1 (07:56)
  MVC Review Part 2 (07:19)
  MVC Review Part 3 (11:34)
  MVC Review Part 4 (04:47)
Section 112 - Requested Topic: World Traveler Part 1
  Introduction Libraries and Learning Goals (05:56)
  Dependencies and Libraries (07:52)
  Storyboard Setup (07:52)
  Model Adding Entities (08:41)
  Model Adding Relationships (02:22)
  Adding a PrimaryAttributeKey (05:39)
  Subclassing MMRecord and keyPathForResponseObject (04:38)
  Subclassing AFHTTPSessionManager (07:32)
  foursquare ClientID and ClientSecret (03:33)
  Imports and MagicalRecord Setup (04:43)
  Customizing TCFourSquareSesssionManager (06:05)
  Making our First Request (07:33)
  Displaying the Information (05:02)
  Current Location (08:39)
  Venue Setup (03:02)
  Setting up the Map (06:54)
Section 113 - Requested Topic: World Traveler Part 2
  Finishing up our MapViewController (04:04)
  Updating the MapViewController (02:00)
  Setting up the Directions ViewController (05:14)
  Location Manager a Quick Review (07:32)
  Getting Directions (05:56)
  Using our Directions Method (06:36)
  Getting the Route (05:43)
  Adding a Latitude and Longitude Offset (02:59)
  Drawing our Overlay (05:23)
  Setup the DirectionsListViewController (04:03)
  Segue To The DirectionsListViewController (04:44)
  Setup the List of Directions (07:17)
  Adding a TableViewHeader (03:12)
  Adding Map Snapshots (09:37)
  Installing a Facebook style Menu with MMDrawerController (03:36)
  Adding a MenuViewController to the Storyboard (04:45)
  Update the App Delegate (09:52)
  Setting Drawer Attributes (04:56)
  Adding Animations to our Menu (04:06)
  Adding a Menu Button (05:24)
  Setting up the MenuViewController (03:08)
  Adding our ListViewController to the Menu (08:57)
  Selecting our Menu Item (02:09)
  Adding some More ViewControllers (07:56)
  Adding our new ViewControllers to the Menu ViewController (05:22)
  Adding Menu Buttons to the Favorite and Add Venue ViewControllers (04:07)
  Adding Favoriting (05:31)
  Save using MagicalRecord (02:11)
  Displaying our Favorite Venues with Magical Record (07:29)
  Creating our a custom Venue with Magical Record (06:18)
FAQs
When does the course start and finish?
The course starts now and never ends! It is a completely self-paced online course - you decide when you start and when you finish.
How long do I have access to the course?
How does lifetime access sound?
After purchase, you have unlimited access to this course for as long as you like - across any and all devices you own.
What if I am unhappy with the course?
We would never want you to be unhappy!
If you are unsatisfied with your purchase, contact us in the first 30 days and we will give you a full refund.
Join 60454 students and Get Started Now