The Ultimate iOS 11 Course. Learn to Build Apps! (70 hours)
A Beginner's Guide to Xcode 9, Swift 4.0, ARKit, Core ML, SpriteKit, WatchKit, and more.
In The Ultimate iOS 11 Course, you will learn how to use various Apple software in the Xcode 9 platform while learning to code in the programming language Swift 4.0. You will build functioning iPhone and Apple Watch apps and games from concept to completion. You will also learn how to use augmented reality and image manipulation tools. You will learn how to add Maps functionality to your apps.
We use practical examples to teach you theory. Source code and coding exercises included.
1. You will learn the basics of the Swift 4.0 programming language. You will learn how to use variables, constants, collection types, control flow, functions, classes, structures, enumerations, and more. You will learn the foundations of coding in this user-friendly and popular coding language.
----
----
----
----
----
----
----
----
----
----
----
----
----
----
----
----
----
----
What are the requirements?
----
----
You get full lifetime access to this course for a single one-off fee.
Your Instructor
John has been programming since 1997 and teaching since 2002. He has been contracted by many different companies to provide game design, audio, programming, level design and project management.
To this day John has contributed to 40 commercial games. Several of the games he has produced have risen to the Top 10 in the Apple's App Store.
His expertise is in e-learning, entrepreneurship, programming, software development, and game development. He is also a new father of two kids.
Mammoth Interactive is a leading online course provider in everything from learning to code to becoming a YouTube star. Mammoth Interactive courses have been featured on Harvard’s edX, Business Insider and more.
Over 13 years, Mammoth Interactive has built a global student community with 6+ million courses sold. Mammoth Interactive has released over 350 courses and 3,500 hours of video content.
Founder and CEO John Bura has been programming since 1997 and teaching
since 2002. John has created top-selling applications for iOS, Xbox and
more. John also runs SaaS company Devonian Apps, building
efficiency-minded software for technology workers like you.
Course Curriculum
-
Start00. Learning Goals (4:24)
-
Start01. Intro to Variables and Constants (16:16)
-
Start02. Primitive Types (19:07)
-
Start03. Strings (19:11)
-
StartFAQ: Substring Replacement
-
Start04. Nil Values (13:16)
-
Start05. Tuples (14:39)
-
Start06. Type Conversions (23:40)
-
Start07. Assignment Operators (11:43)
-
Start08. Conditional Operators (12:51)
-
StartSource Code
-
StartTopics List and Learning Objectives (4:06)
-
Start01. Intro to If and Else Statements (10:07)
-
Start02. Else If Statements (9:13)
-
Start03. Multiple Simultaneous Tests (12:58)
-
Start04. Intro To Switch Statements (9:47)
-
Start05. Advanced Switch Statement Techniques (16:25)
-
Start06. Testing for Nil Values (12:15)
-
Start07. Intro to While Loops (14:51)
-
Start08A. Intro to For...In Loops (14:39)
-
Start08B Intro to For...In Loops (Cont'd) (11:19)
-
Start09. Complex Loops and Loop Control Statements (20:05)
-
StartSource Code
-
Start01. Intro to Functions (20:19)
-
Start02. Function Parameters (12:01)
-
Start03. Return Statements (14:26)
-
Start04A. Parameter Variations - Argument Labels (9:23)
-
Start04B. Parameter Variations - Default Values (5:50)
-
Start04C. Parameters Variations - InOut Parameters (9:03)
-
Start04D. Parameter Variations - Variadic Parameters (11:12)
-
Start05. Returning Multiple Values Simultaneously (7:46)
-
StartSource Code
-
Start00. Topics List and Learning Objectives (5:25)
-
Start01. Intro to Classes (16:24)
-
Start02A. Properties as Fields - Add to Class Implementation (13:43)
-
Start02B. Custom Getters and Setters (8:44)
-
Start02C. Calculated Properties (24:12)
-
Start02D. Variable Scope and Self (13:15)
-
Start02E. Lazy and Static Variables (14:35)
-
Start03A. Behaviour and Instance Methods (16:38)
-
Start03B. Class Type Methods (7:42)
-
Start04. Class Instances as Field Variables (8:52)
-
Start05A. Inheritance, Subclassing and SuperClassing (24:06)
-
Start05B. Overriding Initializers (13:41)
-
Start05C. Overriding Properties (16:30)
-
Start05D. Overriding Methods (10:33)
-
Start06. Structs Overview (20:24)
-
Start07. Enumerations (16:30)
-
Start08. Comparisons between Classes, Structs and Enums (14:40)
-
StartSource Code
-
Start00. Intro and Demo (6:48)
-
Start01. General Interface Intro (15:06)
-
Start02. File System Introduction (13:24)
-
Start03. ViewController Intro (6:53)
-
Start04. Storyboard File Intro (17:28)
-
Start05. Connecting Outlets and Actions (14:12)
-
Start06. Running an Application (10:06)
-
Start07. Debugging an Application (11:40)
-
StartSource Code
-
Start00. Intro and Demo (3:48)
-
Start01. Building the UI (10:07)
-
Start02. Connecting Outlets and Actions (12:24)
-
Start03. Implementation Planning (9:59)
-
Start04. Storing Input Values and Choosing Operation (11:38)
-
Start05. Implementing Calculate and Clear Function (9:43)
-
Start06. Error Checking and Handling (9:32)
-
Start07. Beautifying App and Finishing Touches (7:42)
-
PreviewShare Your Projects
-
Start00. Intro and Demo (4:22)
-
Start01. Building the UI (11:58)
-
Start02. Connecting Outlets and Actions (8:21)
-
Start03. Planning Implementation and Setting Blueprint (8:14)
-
Start04. Implementing Conversion Selection (15:01)
-
Start05. Implementing Hex to RGB Conversion (16:42)
-
Start06. Implementing RGB to Hex Conversion (7:01)
-
Start07. Improving App Appearance (14:49)
-
StartSource Code
-
Start00. Demo and Intro (6:09)
-
Start01. Building the UI (9:47)
-
Start02. Connecting Outlets, Actions, and Textfield Protocol (13:22)
-
Start03. Planning our Implementation Process (16:54)
-
Start04. Implement Word and Hint Selection (15:32)
-
Start05. Implementing Remaining Set Up (8:28)
-
Start06. Implementing TextField Processing (17:59)
-
Start07. Implementing Correct Guess Processing (15:36)
-
Start08. Implementing Incorrect Guess Processing (7:56)
-
Start09. Implementing The Last Bit of Functionality (9:39)
-
Start10. Improving App Appearance (8:50)
-
StartSource Code
-
Start00. Intro and Demo (3:47)
-
Start01. Building the UI (10:07)
-
Start02. Connecting Outlets and Actions (12:24)
-
Start03. Implementation Planning (9:59)
-
Start04. Storing Input Values and Choosing Operation (11:38)
-
Start05. Implementing Calculate and Clear Function (9:43)
-
Start06. Error Checking and Handling (9:32)
-
Start07. Beautifying App and Finishing Touches (7:42)
-
StartSource Code
-
Start00. Introduction and Demo (6:18)
-
Start01. Building and Connecting the UI (8:13)
-
Start02. Learning about our Weather API (16:37)
-
Start03. Planning Implementation Phase (13:44)
-
Start04. Requesting and Retrieving Data (18:22)
-
Start05. Decoding JSON Data into Structs (18:22)
-
Start06. Setting up DateHandler Class (12:34)
-
Start07. Sorting Data into Todays and Tomorrows Data (16:44)
-
Start08. Storing Todays and Tomorrows Data (19:03)
-
Start09. Displaying Data on UI (19:28)
-
Start10. Retrieving and Displaying Icon (19:07)
-
Start11. Improving App Appearance (9:16)
-
StartSource Code
-
Start00. Intro and Demo (4:24)
-
Start01. Setting up the UI (4:40)
-
Start02. Displaying Simple Alert Message (13:14)
-
Start03. Dismissing Alert (11:33)
-
Start04. Adding Cancel Action (10:29)
-
Start05. Adding Multiple Actions (9:44)
-
Start06. Adding TextFields to Alert (10:01)
-
Start07. Simulating Login Scenario (14:43)
-
Start08. Altering Alert Controller Appearance (8:56)
-
StartSource Code
-
Start00. Introduction to UIViews (4:20)
-
Start01. View Hierarchy with Storyboards (9:14)
-
Start02. Modifying View Attributes with Storyboards (13:18)
-
Start03. Changing Attributes Programmatically (15:24)
-
Start04. Adding, Removing, and Shifting Subviews (13:13)
-
Start05. CGAffineTransforms (7:16)
-
Start06. Attaching Tap Gesture Recognizer to a View (7:51)
-
StartSource Code
-
Start00. Intro (3:26)
-
Start01. Why We Use Buttons (5:46)
-
Start02. Modifying Button Attributes Using Storyboard (13:20)
-
Start03. Using Button Outlets And Actions (11:25)
-
Start04. Button Interaction With Other Elements (8:16)
-
Start05. Connecting Multiple Buttons To Single Action (13:32)
-
Start06. Adding Buttons Programatically (13:44)
-
Start07. BONUS Setting Button Image (7:56)
-
StartSource Code
-
Start00. Introduction (5:30)
-
Start01. Why We Use UITextFields (4:57)
-
Start02. Modifying TextField Attributes Using Storyboard (19:46)
-
Start03. Exploring TextField Attributes Using ViewController (24:37)
-
Start04. Implementing TextField Actions (14:38)
-
Start05. Adding TextFieldDelegate Methods (11:47)
-
Start06. Implementing Should Delegate Methods (17:58)
-
Start07. Implementing Did Delegate and Text Replacement Methods (21:47)
-
Start08. Adding TextFields Programmatically (25:16)
-
StartSource Code
-
StartJ07a Swift Design with Photoshop Part 1 (23:17)
-
StartJ07b Swift Design with Photoshop Part 2 (18:37)
-
StartJ07c Swift Design with Photoshop Part 3 (24:09)
-
StartJ07d Swift Design with Photoshop Part 4 (38:32)
-
StartJ07e Swift Design with Photoshop Part 5 (34:15)
-
StartJ07F Swift Design with Photoshop Part 6 (36:49)
-
StartJ07g Swift Design with Photoshop Part 7
-
StartJ07h Swift Design with Photoshop Part 8 (39:33)
-
StartJ07I Swift Design with Photoshop Part 9 (39:55)
-
StartJ07j Swift Design with Photoshop Part 10 (39:42)
-
StartJ07k Swift Design with Photoshop Part 11 (38:11)
-
StartJ07L Swift Design with Photoshop Part 12 (42:56)
-
StartJ07m Swift Design with Photoshop Part 13 (37:55)
-
StartJ07n Swift Design with Photoshop Part 14 (33:32)
-
StartJ07o Swift Design with Photoshop Part 15 (46:37)
-
StartJ07o Swift Design with Photoshop Part 16 (32:53)
-
StartJ07q Swift Design with Photoshop Part 17
-
PreviewSpriteKit Engine Inspiration
-
Start01. Starting a New file (6:14)
-
Start02. Introduction to the GameScene.sks (9:18)
-
Start03. Looking at the GameScene.Swift (11:49)
-
Start04. Deleting the Extraneous Code (3:51)
-
Start05. Talking About Touches (11:06)
-
Start06. Changing The Player Position (6:51)
-
Start07. Refactoring our Code for Efficiency (7:27)
-
Start08. Adding Sprite Programmatically (8:15)
-
Start09. Closing Thoughts (2:08)
-
Start01. Introduction to Adding Sprites (10:52)
-
Start02. Adding in Images Programmatically (7:01)
-
Start03. Adding In the Colour Blend Factor (6:04)
-
Start04. Changing Sprite Images (7:40)
-
Start05. Moving Sprites Around (7:56)
-
Start06. Pinning One Sprite to another (5:50)
-
Start07. zPosition (4:41)
-
Start08. zRotation and the Update Function (4:53)
-
Start09. Adding a Sprite on a Touches began (3:09)
-
Start01. Introduciton to SKActions (8:44)
-
Start02. Adding in Multiple SKActions (10:35)
-
Start03. Naming Actions (4:04)
-
Start04. Sequences (11:44)
-
Start05. SKAction Moveby - Float (6:43)
-
Start06. SKAction Moveby - CGVector (1:55)
-
Start07. SKAction MoveTo (4:21)
-
Start08. SKAction Follow Path (6:35)
-
Start09. SKAction Rotation (6:34)
-
Start10. SKaction Scaling (8:15)
-
Start11. SKAction Fading (7:18)
-
Start12. SKAction Resize (7:21)
-
Start13. SKAction, Hide and Unhide (2:42)
-
Start01. Introduction to Physics (8:58)
-
Start02. Setting up the Physics floor (4:52)
-
Start03. Adding in Nodes and Physics (11:09)
-
Start04. Applying A Force (11:01)
-
Start05. Adding in Torque (4:08)
-
Start06. Talking About Physics Properties (13:27)
-
Start07. Adding Physics Action (6:56)
-
Start08. Adding A Torque Action (6:19)
-
Start01. Introduction to ARkit (10:47)
-
Start02. Talking About the View Controller and Scenes (11:10)
-
Start03. Talking about Scenes and Object Properties (13:57)
-
Start04. Moving Around the Scene (5:03)
-
Start05. Adding Primitives to your scene (full) (12:26)
-
Start06. Adding Nodes and Primitives Programmatically (7:21)
-
Start07. Adding other Primitives (9:58)
-
Start4.1 Intro to Timers (6:01)
-
Start4.2 Starting and Stopping (5:24)
-
Start4.3 Setting Date (4:52)
-
Start4.4 Capturing Date for timer (10:16)
-
Start4.5 Slight Refactoring (4:43)
-
Start4.6 Adding Total Elapsed Timer (7:10)
-
Start4.7 Adding Loop Timer (10:44)
-
Start4.8 Final Touches (4:18)
-
StartSource Code
-
Start11.1 Intro to Tables (16:35)
-
Start11.2 Learning About Rows (22:50)
-
Start11.3 Optional Binding in For Loop (4:00)
-
Start11.4 Deleting and Scrolling to Rows (4:07)
-
Start11.5 Triggering Action on Row Selection (7:34)
-
Start11.6 Triggering Segues (14:32)
-
Start11.7 Vertical Detail Paging (6:59)
-
StartSource Code
-
Start01. Intro to Webkit and Setup (13:38)
-
Start02. Allowing Gestures and HTTP (9:23)
-
Start03. Correcting Display are and Resizing subview (14:19)
-
Start04. Making a Website (34:48)
-
Start05. Slight Refactor and Displayign alert when Nav fails (13:21)
-
Start06. Handling Links and Restricting Navigation (19:33)
-
Start07. Quick intro to sfsafariviewcontroller (8:11)
-
StartSource Code