Autoplay
Autocomplete
HTML5
Flash
Player
Speed
Previous Lecture
Complete and continue
The Bitfountain iOS 8 with Swift Immersive
Introduction
Course Introduction (5:19)
Course Resources (2:49)
Our First Project!!!
Downloading Xcode (2:49)
Opening XCode and Creating our First Project (7:58)
A Brief Tour of Xcode (7:12)
Exploring Storyboard (7:58)
Setting up a New View (6:01)
Navigation
Adding a Navigation Controller (6:01)
Adding a Title and Another Image (6:01)
Adding TextFields (6:01)
Adding a Button and a Label (3:13)
IBOutlets and Connections
Hooking up our View Objects (3:13)
Debugging Connection Errors (5:52)
Unhiding our Label (5:52)
Accessing Views in Code
Changing a Label's Text in Code (5:52)
Changing a TextField's Text in Code (1:36)
Moving our Label and Closing the Keyboard (1:36)
Multi Line Label (1:36)
Changing a Label's Color in Code (3:21)
Let's Update our Button (3:21)
Working with GitHub
Terminal (3:21)
Creating a Project on Github (3:21)
Saving our Project to Github (6:42)
Adding an Additional Commit (6:42)
Downloading and Opening a Project from Github (6:42)
First Challenge!
Challenge 1: Practicing with the Storyboard (2:25)
Challenge 1: Practicing with the Storyboard Solution (4:59)
Second Challenge!!
Challenge 2: Save your Changes to Github (4:59)
Challenge 2: Save your Changes to Github Solution (4:59)
Variable Types and Commenting
What is a Variable? (6:23)
Type Annotations (6:23)
Intro to Commenting (6:23)
Operations on Variables
Operations on Variables Ints (3:08)
Operations on Variables Floats (3:08)
Valid Variable Names (3:05)
Typealias (2:49)
Numeric Literals (2:49)
Strings
Strings and Characters (5:28)
String Interpolation (5:28)
Optionals Int (4:32)
String to Double (4:32)
Shorthand (2:01)
Constants (2:01)
Shoe Size Converter Project
Shoe Size Converter (2:01)
Refactor Shoe Converter (3:23)
Adding Women's Shoes (7:03)
Age of Laika
Age of Laika (1:14)
Age of Laika: Solution Part 1 (1:14)
Age of Laika: Solution Part 2 (3:07)
Control Flow
If Statements (3:07)
Bools (2:35)
If Statements Continued (2:35)
Numeric Type Conversion (3:10)
Age of Laika Assignment
Age of Laika: Control Flow Challenge (3:10)
Age of Laika: Control Flow Solution (5:51)
For Loops
For Loops (5:51)
Limitations of For Loops (3:26)
99 Sodas Challenge (3:26)
99 Sodas Challenge Solution (3:26)
Lions and Tigers .. oh my!
Intro to Object Oriented Programming (3:27)
What are Structs and Instances? (2:38)
Create a New Project and Storyboard Setup (10:05)
Make Your Own Struct (10:05)
Adding Properties to the Tiger (4:41)
Instantiating our First Struct (5:23)
Using the Tiger Instance (5:23)
Multiple Tigers (4:56)
Arrays
Introduction to Arrays (4:56)
Create an Array (3:42)
Two Cool Properties of Arrays (2:26)
Indexing into an Array and Iterating Over an Array (2:26)
Ranges and For in Loops (4:17)
For in Enumerate Loop (2:52)
Mutating an Array (9:35)
Generating a Random Number (4:14)
Adding Tigers to an Array (4:14)
Show a Random Tiger (3:13)
Animating our Tigers (9:08)
While Loops (9:08)
Recurring Tiger Bug (6:36)
Our First Function (3:37)
Our First Parameter (3:37)
Multiple Parameters (3:33)
Return Values (3:33)
Another Return Value and Other Function Calls (4:46)
Looking at the Current Functions (4:46)
The Tiger can Chuff (3:07)
Chuff a Number of Times and Self (3:07)
Self Continued (3:22)
Chuff a Number of Times with Control Flow (3:22)
Update Tigers Age Function (3:22)
Adding a Random Fact Function (7:55)
Switch Statement (7:55)
Challenge: 99 Red Balloons
99 Red Balloons Struct Challenge (2:49)
99 Red Balloons Storyboard Setup Solution (7:55)
99 Red Balloons Struct Solution (1:38)
99 Red Balloons Create Balloons Function Solution (1:38)
99 Red Balloons Update UI Solution (1:38)
Classes
Classes and Structs (3:03)
Creating a Lion (3:03)
Create a Lion Array (3:03)
Introduction to Tuples (3:17)
Switch Statement with a Tuple (3:17)
Update Current Animal (3:17)
Displaying both Lions and Tigers (7:08)
Lion Roar Function (7:08)
Accessing Properties in a Function (7:08)
Lion Random Fact Function (3:16)
Subclass
Subclass the Lion Class (3:16)
Override Function in LionCub Class (3:16)
Super Keyword (1:32)
Additional Function and a Female Lion Cub (1:32)
Displaying Lion Cubs (1:32)
Slot Machine Project!!!!!
SlotMachine: Introduction (3:13)
SlotMachine: Starting our New App (3:13)
SlotMachine: Setup ContainerViews (3:13)
SlotMachine: Finishing Setup ContainerViews (10:14)
SlotMachine: setupFirstContainer (10:14)
SlotMachine: setupSecondContainer (10:14)
SlotMachine: setupThirdContainer (7:12)
SlotMachine: Some more Labels in the ThirdContainer (7:12)
SlotMachine: Finish adding Labels to the ThirdContainer (2:49)
SlotMachine: Start Setup FourthContainer (16:05)
SlotMachine: Another Button in the fourth Container (16:05)
SlotMachine: Finishing the fourth Container (16:05)
SlotMachine: Adding a Slot Struct (16:05)
SlotMachine: Adding Assets (1:39)
SlotMachine: Factory Class (1:39)
SlotMachine: Create Slot (1:39)
SlotMachine: Implementing Create Slot (1:23)
SlotMachine: Slots Array (1:23)
SlotMachine: Showing Slots (1:23)
SlotMachine: Remove old ImageViews (1:23)
SlotMachine: hardReset (4:01)
SlotMachine: updateMainView (4:01)
SlotMachine: showAlertWithText (4:01)
SlotMachine: betOneButtonPressed (2:44)
SlotMachine: betMaxButtonPressed (2:44)
SlotMachine: Reordering Slots into Rows (2:44)
SlotMachine: computeWinnings (2:44)
SlotMachine: Check for Flush (4:58)
SlotMachine: Check for Three in a Row (4:58)
SlotMachine: Check for Three of a Kind (2:49)
SlotMachine: Finishing Touches (2:49)
Lemonade Stand Assignment
Lemonade Stand Assignment!!!
Lemonade Stand Solution Videos
Lemonade Stand: Storyboard Solution (11:22)
Lemonade Stand: Connection's Solution (7:36)
Lemonade Stand: Supplies Solution (7:36)
Lemonade Stand: Price Solution (7:36)
Lemonade Stand: Instantiating Price and Supplies Solution (3:25)
Lemonade Stand: Instantiating Tracking Values Solution (3:25)
Lemonade Stand: updateMainView Solution (3:25)
Lemonade Stand: showAlertWithText Solution (3:52)
Lemonade Stand: Use updateMainView Solution (3:52)
Lemonade Stand: startDayButtonPressed Solution (10:59)
Lemonade Stand: purchase IceCubes and Lemons Solution (10:59)
Lemonade Stand: unpurchase IceCubes and Lemons Solution (10:59)
Lemonade Stand: Mix Functions Solution (6:31)
Lemonade Stand: Clear Mix and Purchases Solution (6:31)
Add Weather
Lemonade Stand: Weather Properties Solution (6:31)
Lemonade Stand: Indexing into WeatherArray Solution (6:31)
Lemonade Stand: Using the Weather Array Solution (4:03)
Lemonade Stand: Add weatherImageView Solution (4:03)
Lemonade Stand: Adding Image Assets Solution (4:03)
Lemonade Stand: Displaying Weather Solution (11:22)
Task It Project!!
Task It: Setup Options (2:05)
Task It: Add a TableView (8:16)
Task It: Add a TableViewCell (5:08)
Task It: UITableViewDataSource and UITableViewDelegate (2:46)
Task It: TableView Outlet Hookup (2:12)
Task It: Updating UITableViewDataSource Delegate (2:26)
Task It: Setting up Prototype Cell (2:26)
Task It: Updating UITableViewDataSource (2:26)
Task It: Adding Labels to the TaskCell (5:19)
Task It: Adding Tasks (5:19)
Task It: TaskModel (3:52)
Task It: Implementing the TaskModel (4:20)
Task It: TaskDetailViewController (4:20)
Task It: didSelectRowAtIndexPath (4:20)
Task It: PrepareForSegue (8:04)
Task It: Updating the DetailTaskViewController (8:04)
Task It: Date Class (8:04)
Task It: Updating Dates (1:41)
Task It: NSDate to String (1:41)
Task It: Update DatePicker (2:05)
TaskIt: AddTaskViewController and Storyboard Changes (6:54)
Task It: Dismiss and Pop ViewControllers (2:05)
Task It: AddTaskViewController Setup (2:05)
Task It: Add a Task (4:39)
Task It: AddTask Segue (4:39)
Task It: ViewDidAppear (4:39)
Task It: Passing the ViewController to the TaskDetailViewController (1:19)
Task It: Pop the TaskDetailViewController (1:19)
Task It: Update Tasks (1:19)
Task It: Organize Tasks by Date (8:16)
Task It: TaskModel Completion (8:16)
Task It: Creating a BaseArray (8:16)
Task It: Updates with the Base Array (5:14)
Task It: Finish Fixing the Errors (5:14)
Task It: Adding Section Headers (5:14)
Task It: Completing Tasks (4:41)
Task It: Uncompleting Tasks (4:41)
TaskIt Coredata
Task It: Getting Ready for CoreData (4:41)
Task It: Setting up the CoreData Stack (4:41)
Task It: Setting up the new TaskModel (5:08)
Task It: Creating and Accessing a TaskModel (12:00)
Task It: Setting Up the FetchedResultsController (12:00)
Task It: Updating the UITableView DataSource Functions (12:00)
Task It: Updating prepareForSegue and Removing MainVC Properties (12:00)
Task It: Updating doneBarButtonItemPressed Function (2:46)
Task It: Adding Completion Sort Descriptor (2:46)
Exchange 'A' Gram
ExchangeAGram: Introduction
ExchangeAGram: Setup (5:15)
ExchangeAGram: Storyboard Updates (5:15)
ExchangeAGram: UICollectionViewDataSource (5:15)
ExchangeAGram: FeedCell (5:26)
ExchangeAGram: CameraController (5:26)
ExchangeAGram: Photo Library (6:27)
ExchangeAGram: didFinishPickingImage (4:06)
ExchangeAGram: Creating a FeedItem (2:14)
ExchangeAGram: Persisting a FeedItem (6:38)
ExchangeAGram: NSFetchRequest (6:27)
ExchangeAGram: Displaying the FeedItem (8:05)
ExchangeAGram: Photo Filters
ExchangeAGram: FilterViewController (8:05)
ExchangeAGram: didSelectItemAtIndexPath (6:38)
ExchangeAGram: Presenting the FilterViewController (2:56)
ExchangeAGram: Begin Creating a UICollectionView (7:33)
ExchangeAGram: Finishing the UICollectionView (7:33)
ExchangeAGram: FilterCell (7:25)
ExchangeAGram: Implementing our FilterCell (4:22)
ExchangeAGram: PhotoFilters (4:22)
ExchangeAGram: Properties of CIFilters (6:28)
ExchangeAGram: Composite Filters (4:31)
ExchangeAGram: Using the Filters (4:31)
ExchangeAGram: Implementing our Filters (4:08)
ExchangeAGram: Intro to GCD (4:08)
ExchangeAGram: Was that extra work in filteredImageFromImage worth it? (4:08)
ExchangeAGram: Upgrading to XCode 6.1 (5:12)
ExchangeAGram: Adding a ThumbNail to the FeedItem (5:12)
ExchangeAGram: Cleaning out the Old App (5:12)
ExchangeAGram: Creating and Saving a ThumbNail (1:56)
ExchangeAGram: Implementing our ThumbNail (1:56)
ExchangeAGram: Additional Optimizations (2:51)
ExchangeAGram: Cache (2:51)
ExchangeAGram: Cache Image (2:51)
ExchangeAGram: getCachedImage (3:58)
ExchangeAGram: Implementing Caching (3:58)
ExchangeAGram: Saving our Filter Choice (3:58)
ExchangeAGram: Adding a Profile ViewController (2:49)
ExchangeAGram: Adding Elements to the Profile ViewController (2:49)
ExchangeAGram: Adding Facebook Functionality
ExchangeAGram: Install the Facebook SDK (2:49)
ExchangeAGram: Obtain a FacebookAppID (3:13)
ExchangeAGram: Add the Facebook SDK (3:13)
ExchangeAGram: Setting up the PList (3:13)
ExchangeAGram: Bridging Header (3:26)
ExchangeAGram: Prep the AppDelegate with Facebook (3:26)
ExchangeAGram: FacebookLoginView (3:26)
ExchangeAGram: FacebookLoginViewDelegate (3:26)
ExchangeAGram: Delegate Prep (3:05)
ExchangeAGram: Hiding and unhiding our imageView and nameLabel (3:05)
ExchangeAGram: Finishing up our Delegates (3:05)
ExchangeAGram: Profile Segue and Testing (2:04)
ExchangeAGram: Advanced UIAlertController (2:04)
ExchangeAGram: Finishing UIAlertController (6:23)
ExchangeAGram: Refactoring didSelectItemAtIndexPath (6:23)
ExchangeAGram: Setup ShareToFacebook Function (6:23)
ExchangeAGram: Finish shareToFacebook Function (5:27)
ExchangeAGram: Call ShareToFacebook Function (4:30)
ExchangeAGram: Saving Captions (2:56)
ExchangeAGram: Testing this out (5:27)
ExchangeAGram: Adding MapKit
ExchangeAGram: Adding a MapViewController (2:56)
ExchangeAGram: Adding MapKit (2:56)
ExchangeAGram: CLLocationManager (5:29)
ExchangeAGram: Location Permission (5:29)
ExchangeAGram: Update Model (5:29)
ExchangeAGram: Saving the location (1:11)
ExchangeAGram: ProfileVC to MapVC Segue (1:11)
ExchangeAGram: Add an Annotation (1:11)
ExchangeAGram: Make Request For FeedItems (1:11)
ExchangeAGram: Display Photos (4:30)
ExchangeAGram: Testing the Map (4:30)
ExchangeAGram: Final Adjustments to our Model (4:28)
ExchangeAGram: Adding a Unique ID (4:28)
ExchangeAGram: Implementing our Unique ID (2:12)
ExchangeAGram: Fixing the Image Orientations (8:48)
ExchangeAGram: Adding Assets and Splash Screen (4:28)
ExchangeAGram: Updating the FeedViewController Background (2:12)
ExchangeAGram: Updating the Profile ViewController (2:12)
Auto Layout Demo
Auto Layout: What is it? (3:02)
Auto Layout: Pinning (8:48)
Auto Layout: Between Views (2:55)
Auto Layout: Basic Project, Part1 (2:55)
Auto Layout: Basic Project, Part 2 (3:31)
Auto Layout: Basic Project, Part 3 (3:31)
Auto Layout: Second Project, Part 1 (6:35)
Auto Layout: Second Project, Part 2 (3:31)
Auto Layout: Second Project, Part 3 (6:35)
Auto Layout: Second Project, Part 4 (6:35)
ExchangeAGram Final Touches
ExchangeAGram: Adding App Icons (1:25)
ExchangeAGram: Launch Screen (1:25)
ExchangeAGram: Auto Layout FeedViewController and MapViewController (1:25)
ExchangeAGram: AutoLayout ProfileViewController (1:25)
Task It: Advanced Functionality
Task It: Fix TableView Headers (7:18)
Task It: Fixing Task Completion (2:23)
Login Functionality Project
Login Project: Setup (7:18)
Login Project: Segue's (11:31)
Login Project: CreateAccountViewController (6:29)
Login Project: Create a Protocol in the CreateAccountViewController (6:29)
Login Project: Implement the Delegate (6:29)
Login Project: Use NSUserDefaults in the LoginVC (4:16)
Login Project: Use NSUserDefaults in the MainVC (11:31)
Task It: Advanced Functionality cont.
Task It: Setup the Settings ViewController (7:47)
TaskIt: Settings ViewController ViewDidLoad (7:47)
Task It: Capitalize TableView (7:47)
Task It: Complete NewTodo TableView (7:06)
Task It: Additional UITableView DataSource Functions (7:06)
Task It: SettingsViewController didSelectRowAtIndexPath (7:06)
Task It: AppDelegate Settings (5:30)
Task It: Implementing our Settings (5:30)
Task It: Protocol in the TaskDetailViewController (5:30)
Task It: Implementing the TaskDetailViewController Protocol (2:34)
Task It: Updating the taskDetailEdited function (2:34)
Task It: Protocol AddTaskViewController (2:23)
Task It: Implementing AddTaskViewController Protocol Functions (2:23)
Task It: App Icon (2:03)
Task It: Splash Screen (4:16)
Task It: Setting Background Colors (4:16)
Task It: Implementing our Icons (2:03)
Task It: Updating the ViewController with AutoLayout (10:30)
Mini Project: Size Classes (11:31)
Task It: Updating the Settings ViewController with Size Classes (10:30)
Task It: One Fix For the Settings ViewController (1:57)
Task It: Updating the DetailTaskViewController with Size Classes (1:57)
Task It: Updating the AddTaskViewController with Size Classes (10:10)
iCloud (Optional Section)
Task It: Setting up Developer Account (3:29)
Task It: A Look at the Member Center (3:16)
Task It: Using Xcode To Setup Certificates Provisioning Profiles and our Device (3:16)
Task It: Adding iCloud Capability (1:57)
Task It: Adding the ModelManager Class (3:16)
Task It: A Look at Model Manager (1:57)
Task It: Implementing NSNotification Center iCloud (3:13)
Task It: Refactor Using our Model Manager (3:13)
Food Tracker Project: Introduction with HealthKit and more!
FoodTracker: Lets Get Started (3:33)
Food Tracker: DetailViewController (3:33)
Food Tracker: Conforming to Protocols for the ViewController (3:33)
Implementing UISearchController
Food Tracker: Start Setting up the SearchController (3:33)
Food Tracker: Finish Setting up the Search Controller (4:19)
Food Tracker: Arrays for the DataSource (4:19)
Food Tracker: How Many Rows? (4:19)
Food Tracker: Show Some Food (2:59)
Food Tracker: filterContentForSearch (2:59)
Food Tracker: updateSearchResultsForSearchController (2:59)
Food Tracker: ScopeButtonTitles (1:34)
Our first API
Food Tracker: Nutrionix_API (1:34)
Food Tracker: MakeRequest Get Request (1:34)
Food Tracker: Execute HTTP Get Request (4:41)
Food Tracker: AppID and AppSecret (4:41)
Post Request
Food Tracker: HTTP Post Request (4:41)
Food Tracker: Setup our NSURLSessionDataTask (6:51)
Food Tracker: Test Post HTTP Request (6:51)
Food Tracker: Setup a DataController (6:51)
Food Tracker: Completing jsonAsUSDAIDSearchResults (12:43)
Food Tracker: Error Handling When Making a Request (12:43)
Food Tracker: Handling the JSON Response (12:43)
Food Tracker: apiForSearchFoods TableView DataSource (5:43)
Food Tracker: Update TableView With apiSearchForFoods (5:43)
Food Tracker: Selecting a Suggested Food (5:43)
Food Tracker: selectedScopeButtonIndexDidChange (1:49)
Food Tracker: Creating a USDAItem (1:49)
Food Tracker: start saveUSDAItemForId Function (1:49)
Food Tracker: Get the Correct Dictionary (2:54)
Food Tracker: Request USDAItems for idValue (2:54)
Food Tracker: Have we Already Saved this Entity? (2:54)
Saving USDAItems to CoreData
Food Tracker: Create a USDAItem (2:41)
Food Tracker: Start Updating the USDAItem (2:41)
Food Tracker: Saving our First Food Attribute (2:41)
Food Tracker: Saving Carbohydrates and Fat Total (5:01)
Food Tracker: Saving Cholesterol and Protein (4:46)
Food Tracker: Saving Sugar, Vitamin C, and Energy (5:01)
Food Tracker: Saving our USDA Item (5:01)
Food Tracker: Save a USDAItem (3:32)
Using our USDAItem
Food Tracker: Request USDAItems (3:32)
Food Tracker: Call requestFavoritedUSDAItems (3:32)
Food Tracker: Update UITableViewDataSource for Favorited USDAItems (1:38)
Food Tracker: Filter the FavoritedUSDAItems (1:38)
Food Tracker: Update UITableView DataSource for FilteredFavorited USDAItems (1:38)
Food Tracker: Add a USDAItem Property to the DetailViewController (0:58)
Food Tracker: Segueing from the Third ScopeButton (0:58)
Food Tracker: PrepareForSegue (0:58)
Food Tracker: Segueing from the Second ScopeButton (1:12)
NSNotificationCenter
Food Tracker: Post Notification with NSNotificationCenter (1:12)
Food Tracker: NSNotificationCenter in the ViewController (1:12)
Food Tracker: NSNotificationCenter in the DetailViewController (4:46)
Food Tracker: Deinit NSNotificationCenter and Test NSNotificationCenter (4:46)
Food Tracker: Setup createAttributedString (4:46)
Food Tracker: Show our USDAItem Title (2:56)
Food Tracker: Setup Additional Attribute Dictionaries (2:56)
Food Tracker: Begin Adding USDAItem Attributed Strings (2:56)
Food Tracker: Add Energy Fat and Protein attributedStrings (4:04)
Food Tracker: Add Sugar and VitaminC attributedStrings (4:04)
Saving our USDAItem to HealthKit
Food Tracker: Add HealthKit (4:04)
Food Tracker: HealthStore Class (1:44)
Food Tracker: Setup requestAuthorizationForHealthStore (1:44)
Food Tracker: HealthKit Authorization (1:44)
Food Tracker: Start saveFoodItem Function (1:44)
Food Tracker: Our First HKQuantitySample Energy (4:59)
Food Tracker: Adding HKQuantitySample Calcium and Carbohydrate (4:59)
Food Tracker: Adding HKQuantitySample FatTotal and Protein (4:59)
Food Tracker: Adding HKQuantitySample Sugar and Vitamin C (2:36)
Food Tracker: Adding HKQuantitySample Cholesterol (2:36)
Food Tracker: Saving HealthKit (2:36)
Food Tracker: Eating our Food and Testing Saving (2:19)
Food Tracker: Adding FoodMetaData and the Conclusion (2:19)
Powered by
Adding an Additional Commit
Lecture contents locked
Enroll in Course to Unlock