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