Get $1 credit for every $25 spent!

The Complete Swift 3 Hacking Bundle

Ending In:
Add to Cart - $35
Add to Cart ($35)
$700
95% off
wishlist
(34)
Courses
5
Lessons
744
Enrolled
334

What's Included

Product Details

Access
Lifetime
Content
4.5 hours
Lessons
70

Swift Coding Challenges: Real Problems, Real Solutions

Get iOS Interview Ready & Ace the Whiteboard Test

By Stephen DeStefano | in Online Courses

This course is designed to get you ready for an iOS job interview and the whiteboard test you'll have to take. All of these challenges are real world examples that you can expect to see in an actual iOS interview. Not looking for a job just yet? They're still a great way to level up your current iOS skills, and a great library of coding solutions for future reference.

  • Access 70 lectures & 4.5 hours of content 24.7
  • Use the latest Swift, Swift 3
  • Prepare for iOS interviews & whiteboard tests
  • Reference solutions after working on them to see where mistakes were made
  • Get deep explanations as to how the code works
  • Challenge yourself w/ strings, numbers, files, collections, & algorithms
Stephen DeStefano is an Apple developer who has been creating apps for 7 years. He has worked with top programmers in the field, and continuously stays current and grows with Apple as technology continues to evolve. His goal here is to create video instruction that makes it easy for students to work with Apple's new language, Swift, and incorporate that knowledge into creating, some pretty amazing apps.

Details & Requirements

  • Length of time users can access this course: lifetime
  • Access options: web streaming, mobile streaming
  • Certification of completion not included
  • Redemption deadline: redeem your code within 30 days of purchase
  • Experience level required: all levels

Compatibility

  • Internet required
  • Xcode 8 required (free to download)

Course Outline

  • Introduction - What will i learn in this course?
    • Introduction to Swift Coding Challenges (6:35)
  • Strings
    • Challenge 1- Are the letters unique? (3:47)
    • Challenge 2- Is a string a palindrome? (2:58)
    • Challenge 3 - Do two strings contain the same characters? (2:57)
    • Challenge 4 - Does one string contain another? (2:05)
    • Challenge 5 - Count the characters (4:26)
    • Challenge 6 - Remove duplicate letters from a string (4:04)
    • Challenge 7 - Condense whitespace (2:47)
    • Challenge 8 - String is rotated (2:41)
    • Challenge 9 - Find pangrams (1:29)
    • Challenge 10 - Vowels and consonants (2:46)
    • Challenge 11 - Three different letters (2:19)
    • Challenge 12 - Find longest prefix (1:15)
    • Challenge 13 - Run-length encoding (3:17)
    • Challenge 14 - String permutations (3:21)
    • Challenge 15 - Reverse the words in a string (1:33)
  • Numbers
    • Challenge 16 - Fizz Buzz (2:23)
    • Challenge 17 - Generate a random number in a range (2:54)
    • Challenge 18 - Recreate the pow() function (1:41)
    • Challenge 19 - Swap two numbers (1:43)
    • Challenge 20 - Number is prime (3:12)
    • Challenge 21 - Counting binary ones (3:20)
    • Challenge 22 - Binary reverse (2:09)
    • Challenge 23 - Integer disguised as string (3:40)
    • Challenge 24 - Add numbers inside a string (4:39)
    • Challenge 25 - Calculate a square root by hand (5:30)
    • Challenge 26 - Subtract without subtract (4:06)
  • Files
    • Challenge 27 - Print last lines (5:05)
    • Challenge 28 - Log a message (4:45)
    • Challenge 29 - Documents directory (2:09)
    • Challenge 30 - New JPEGs (3:20)
    • Challenge 31 - Copy recursively (2:59)
    • Challenge 32 - Word frequency (5:06)
    • Challenge 33 - Find duplicate filenames (4:16)
    • Challenge 34 - Find executables (2:43)
    • Challenge 35 - Convert images (3:58)
    • Challenge 36 - Print error lines (3:45)
  • Collections
    • Challenge 37 - Count the numbers (1:55)
    • Challenge 38 - Find N smallest (2:47)
    • Challenge 39 - Sort a string array by length (1:16)
    • Challenge 40 - Missing numbers in array (2:34)
    • Challenge 41 - Find the median (2:38)
    • Challenge 42 - Recreate index(of) (1:41)
    • Challenge 43 - Linked lists (5:43)
    • Challenge 44 - Linked list mid-point (3:43)
    • Challenge 45 - Traversing the tree (2:34)
    • Challenge 46 - Recreate map() (3:17)
    • Challenge 47 - Recreate min() (5:52)
    • Challenge 48 - Implement a deque data structure (2:21)
    • Challenge 49 - Sum the even repeats (2:55)
    • Challenge 50 - Count the largest range (2:32)
    • Challenge 51 - Reversing linked lists (5:38)
    • Challenge 52 - Sum an array of numbers (4:37)
    • Challenge 53 - Linked lists with a loop (11:51)
    • Challenge 54 - Binary search trees (8:48)
  • Algorithms
    • Challenge 55 - Bubble sort (4:22)
    • Challenge 56 - Insertion sort (5:10)
    • Challenge 57 - Isomorphic values (3:42)
    • Challenge 58 - Balanced brackets (3:55)
    • Challenge 59 - Quicksort (6:42)
    • Challenge 60 - Tic-Tac-Toe winner (3:55)
    • Challenge 61 - Find prime numbers (4:12)
    • Challenge 62 - Points to angles (2:20)
    • Challenge 63 - Flood fill (6:03)
    • Challenge 64 -N Queens (8:12)
  • 90 Multiple Choice Questions - Novice - Intermediate - Expert
    • Multiple Choice - Novice (8:44)
    • Multiple Choice - Intermediate (9:36)
    • Multiple Choice - Expert (12:32)
  • Frequent Flyer Club - Coding Challenges
    • Frequent Flyer Club - Hacking With Swift Coding Challenges (2:07)
  • Tour of Paul Hudson's Hacking With Swift site
    • Tour of Paul Hudson's Hacking With Swift site (1:24)

View Full Curriculum


Access
Lifetime
Content
4.5 hours
Lessons
274

The Swift 3 Cookbook of Code

Apple Coding Recipes to Greatly Improve Your Craft

By Stephen DeStefano | in Online Courses

This course is an enormous compilation of Swift 3 coding solutions, neatly organized in sections for fast reference when you need it. This one-stop resource is vastly more accessible than Apple docs and will help you get more nuanced insight into Swift 3.

  • Access 274 lectures & 4.5 hours of content 24/7
  • Download each lecture as well as its text file so you can add to or create your own Swift docs
  • Keep a library for your coding toolbox for fast reference & usage
  • Get access to more example code as it is added to the library
Stephen DeStefano is an Apple developer who has been creating apps for 7 years. He has worked with top programmers in the field, and continuously stays current and grows with Apple as technology continues to evolve. His goal here is to create video instruction that makes it easy for students to work with Apple's new language, Swift, and incorporate that knowledge into creating, some pretty amazing apps.

Details & Requirements

  • Length of time users can access this course: lifetime
  • Access options: web streaming, mobile streaming
  • Certification of completion not included
  • Redemption deadline: redeem your code within 30 days of purchase
  • Experience level required: all levels

Compatibility

  • Internet required

Access
Lifetime
Content
15 hours
Lessons
114

Hacking with watchOS 3: Build Amazing Apple Watch Apps

Get Started Coding for watchOS

By Stephen DeStefano | in Online Courses

Apple Watch represents a whole new frontier for developers and this course is designed to teach you all the tools and techniques to coding for watchOS 3. Through step by step instruction, you'll learn how to create awesome apps to submit to the App Store while using the same Swift 3 language used by iOS apps.

  • Access 114 lectures & 15 hours of content 24/7
  • Build 12 projects, each teaching a new aspect of watchOS
  • Go from variables of the Swift 3 language to creating your own functions
  • Learn by use of annotations, diagrams, highlighting, & callouts
  • Understand how to use controls, delegates, & protocols
  • Discover the ins & outs of GCD
  • Create SpriteKit games for the watch
  • Parse JSON from a website & load its data into your watch
Stephen DeStefano is an Apple developer who has been creating apps for 7 years. He has worked with top programmers in the field, and continuously stays current and grows with Apple as technology continues to evolve. His goal here is to create video instruction that makes it easy for students to work with Apple's new language, Swift, and incorporate that knowledge into creating, some pretty amazing apps.

Details & Requirements

  • Length of time users can access this course: lifetime
  • Access options: web streaming, mobile streaming
  • Certification of completion not included
  • Redemption deadline: redeem your code within 30 days of purchase
  • Experience level required: all levels

Compatibility

  • Internet required

Course Outline

  • Introduction - Whats it like to build for watchOS?
    • Introduction - Whats it like to build for watchOS? (5:22)
  • The Swift 3 Language
    • Variables - Part 1 (5:56)
    • Variables - Part 2 - Data Types - Type Annotation - Type Inference continued (7:17)
    • Operators Part 1 - Unary, Binary, Ternary, Assignment, and Remainder operators (4:57)
    • Operators Part 2 - Increment, Decrement, Minus Unary, Compound Assignment, Comparison, Identity, and Nil Coalescing operators
    • Operators Part 3 - Range, and Logical operators (5:47)
    • Optionals Swift 3.0 (7:23)
    • Structs (10:44)
    • Computed Properties (6:02)
    • Property Observers Swift 3.0 (5:14)
    • Extensions (6:34)
    • Protocols Part 1 - Syntax and declaring - Adding functions (8:28)
    • Protocols Part 2 - Adding properties -Delegation - Static keyword (13:35)
    • Enums Part 1 - Raw values - Associated values (9:36)
    • Enums Part 2 - Implicitly assigned raw values (7:37)
    • Enums Part 3 - Initializing - recurssive enums (8:42)
    • Generics Part 1 (9:11)
    • Generics Part 2 (10:40)
    • Type Casting - Part 1 - The "as" and "is" operators (9:48)
    • Type Casting - Part 2 - Using AnyObject and Any (9:27)
    • Nested Types (11:06)
    • Tuples part 1 - Using and accessing values (7:18)
    • Tuples part 2 - Using them with functions and optionals (6:38)
    • Closures Part 1 - Syntax and Optimizations (14:43)
    • Closures Part 2 - Trailing Closures (10:41)
    • Closures Part 3 - Capturing Values (8:43)
    • Functions Part 1 - Declaring - Syntax - Return (6:25)
    • Functions Part 2 - Working with functions (11:03)
    • Functions Part 3 - Working with more functions (3:17)
    • Functions Part 4 - Nested Functions (7:10)
  • Control Flow
    • if statement - else if - nested if's (6:38)
    • Switch (7:30)
    • for in loop (8:02)
    • while and repeat while loops (4:10)
  • Collections
    • Arrays Part 1 - Declaring and initialiizing an array (4:34)
    • Arrays Part 2 - Accessing and modifying an array (4:47)
    • Arrays Part 3 - More of accessing and modifying an array (4:34)
    • Dictionaries Part 1 (7:40)
    • Dictionaries Part 2 (6:29)
    • Sets Part 1 - Declaring and initializing sets (5:46)
    • Sets Part 2 - Accessing and modifying sets (9:33)
  • Strings
    • Strings Part 1 - Literals-mutability-interpolation-characters (9:41)
    • Strings Part 2 - Accessing and modifying strings (11:16)
    • Strings Part 3 - Comparing strings (3:46)
    • Strings Part 4 - Even more of accessing and modifying strings (5:04)
  • Classes - Properties - inits - Subclassing
    • Classes - initializers - properties (7:50)
    • Subclassing Part 1 (5:05)
    • Subclassing Part 2 (4:08)
  • Project 1 - NoteDictate
    • Project 1 - Intro (1:17)
    • Part 1 - Setting up (4:07)
    • Part 2 - Designing our interface (19:48)
    • Part 3 - Loading a table of items (8:14)
    • Part 4 - Transcribing the users voice (9:06)
    • Part 5 - Showing a second screen (10:46)
    • Part 6 - Loading and saving data (8:12)
  • Project 2 - Rock Paper Scissors
    • Part 1 - Setting up - Proportional layout (13:02)
    • Project 2 Intro (1:59)
    • Part 2 - Picking a move (7:52)
    • Part 3 - Winning the game (6:21)
  • Project 3 - Storing Data
    • Project 3 Intro (1:05)
    • Part 1 - Setting up - Reading and writing user settings (4:28)
    • Part 2 - Reading and writing from the keychain (2:23)
    • Part 3 - Reading and writing files (4:30)
  • Project 4 - WatchFX
    • Project 4 Intro (1:52)
    • Part 1 - Setting up - Picking from an array (17:46)
    • Part 2A - Selecting favorite currencies (12:37)
    • Part 2B - Selecting favorite currencies (3:53)
    • Part 3 - Making network requests (22:17)
    • Part 4 - Parsing JSON (13:38)
  • Project 5 - Hue Knows
    • Project 5 Intro (1:57)
    • Part 1 - Setting up - Building the basic game (15:09)
    • Part 2 - Ending and restarting (7:13)
    • Part 3 - Timing notifications for later (11:26)
  • Project 6 - User input
    • Project 6 Intro (2:03)
    • Part 1 - Setting up (3:48)
    • Part 2 - Text input controllers (5:14)
    • Part 3 - Recording audio (5:42)
  • Project 7 - Magic 8-Ball
    • Project 7 Intro (1:35)
    • Part 1 - Setting up - The basics of complications (15:31)
    • Part 2 - Traveling in time (19:18)
  • Project 8 - Safe Crack
    • Project 8 Intro (1:42)
    • Part 1 - Setting up - Delegates and the digital crown (11:53)
    • Part 2 - Twist to win (9:07)
    • Part 3 - Ending the game (6:03)
  • Project 9 - Animation
    • Project 9 Intro (1:22)
    • Part 1 - Setting up (2:33)
    • Part 2 - Attribute animation in WatchKit (9:47)
    • Part 3 - Image animations (5:14)
  • Project 10 - iMove
    • Project 10 Intro (3:01)
    • Part 1 - Setting up - Building the user interface (11:02)
    • Part 2 - Configuring the workout (5:24)
    • Part 3 - Setting up permissions (9:44)
    • Part 4 - Reading live data from HealthKit (13:01)
    • Part 5 - Upating our user interface (9:33)
    • Part 6 - Handling state changes (10:48)
  • Project 11 - ColorSpin
    • Project 11 Intro (2:25)
    • Part 1 - Setting up - Showing a SpriteKit scene (10:26)
    • Part 2 - Controlling the player (11:08)
    • Part 3 - Creating warning edges (5:00)
    • Part 4 - Launching balls (17:19)
    • Part 5 - Spin to win (19:15)
  • Project 12 - WatchConnectivity
    • Project 12 Intro (0:57)
    • Part 1 - Setting up - A tale of two interfaces (7:14)
    • Part 2 - Establishing communication (8:26)
    • Part 3A - Sending messages (7:15)
    • Part 3B - Sending messages (8:04)
    • Part 4 - Sending files (5:28)
    • Part 5 - Updating your complication (13:49)
  • Frequent Flyer Club Hacking with watchOS
    • Frequent Flyer Club - Hacking with watchOS (2:07)
  • Paul Hudson and Hacking With Swift tour
    • Paul Hudson and Hacking With Swift tour (1:27)

View Full Curriculum


Access
Lifetime
Content
21 hours
Lessons
143

Hacking with macOS: Learn to Make Desktop Apps with Swift 3

Learn How to Get Started Coding for macOS

By Stephen DeStefano | in Online Courses

Your MacBook can be loaded up with a huge array of macOS specific apps, and this course will teach you how to start building those apps yourself. Want to code your own custom buttons for the new MacBook Pro Touch Bar? Here's where to learn. This course has all the step-by-step instruction you need to create awesome apps to submit to the Mac App Store.

  • Access 143 lectures & 21 hours of content 24/7
  • Build 18 projects, each one teaching a new aspect of macOS
  • Code your own custom touch bar buttons & controls
  • Explore split view controllers, windows, web views, & table views
  • Work w/ the social framework & learn how to refactor code
  • Create games using SpriteKit
  • Add audio & animations
  • Master strings in Swift 3, use stackView, learn the best debugging techniques, & more
Stephen DeStefano is an Apple developer who has been creating apps for 7 years. He has worked with top programmers in the field, and continuously stays current and grows with Apple as technology continues to evolve. His goal here is to create video instruction that makes it easy for students to work with Apple's new language, Swift, and incorporate that knowledge into creating, some pretty amazing apps.

Details & Requirements

  • Length of time users can access this course: lifetime
  • Access options: web streaming, mobile streaming
  • Certification of completion not included
  • Redemption deadline: redeem your code within 30 days of purchase
  • Experience level required: all levels

Compatibility

  • Internet required

Course Outline

  • Paul Hudson and Hacking With macOS - Tour of the HackingWithSwift.com site
    • Introductions - Course outline (1:47)
    • Paul Hudson and Hacking With macOS - Tour of the HackingWithSwift.com site (1:34)
  • Inro to Hacking with macOS - Notes for iOS devs - More then one way to do it
    • Hacking with macOS introduction - Notes for iOS developers (7:45)
    • There Is More Than One Way To Do It (7:57)
  • Xcode 8 walk through
    • Xcode 8 walk through (18:49)
  • The Swift 3 Language
    • Variables - Part 1 - Data types - Type annotation - Type inference (5:56)
    • Variables - Part 2 - Data Types - Type Annotation - Type Inference continued (7:17)
    • Operators Part 1 - Unary, Binary, Ternary, Assignment, and Remainder operators (4:57)
    • Operators Part 2 - Increment, Decrement, Minus Unary, Compound Assignment, Comparison, Identity, and Nil Coalescing operators (5:09)
    • Operators Part 3 - Range, and Logical operators (5:47)
    • Functions Part 1 - Declaring - Syntax - Return (6:25)
    • Functions Part 2 - Working with functions (11:03)
    • Functions Part 3 - Working with more functions (3:17)
    • Functions Part 4 - Nested Functions (7:10)
    • Optionals Swift 3.0 (7:23)
    • Structs (10:44)
    • Computed Properties (6:02)
    • Property Observers Swift 3.0 (5:14)
    • Extensions (6:34)
    • Protocols Part 1 - Syntax and declaring - Adding functions (8:28)
    • Protocols Part 2 - Adding properties -Delegation - Static keyword (13:35)
    • Enums Part 1 - Raw values - Associated values (9:36)
    • Enums Part 2 - Implicitly assigned raw values (7:37)
    • Enums Part 3 - Initializing - recurssive enums (8:42)
    • Generics Part 1 (9:11)
    • Generics Part 2 (10:40)
    • Type Casting - Part 1 - The "as" and "is" operators (9:48)
    • Type Casting - Part 2 - Using AnyObject and Any (9:27)
    • Nested Types (11:06)
    • Tuples part 1 - Using and accessing values (7:18)
    • Tuples part 2 - Using them with functions and optionals (6:38)
    • Closures Part 1 - Syntax and Optimizations (14:43)
    • Closures Part 2 - Trailing Closures (10:41)
    • Closures Part 3 - Capturing Values (8:43)
  • Control Flow
    • if statement - else if - nested if's (6:38)
    • Switch (7:30)
    • for in loop (8:02)
    • while and repeat while loops (4:10)
  • Collections
    • Arrays Part 1 - Declaring and initializing (4:34)
    • Arrays Part 2 - Accessing and modifying (4:47)
    • Arrays Part 3 - More of accessing and modifying an array (4:34)
    • Dictionaries Part 1 (7:40)
    • Dictionaries Part 2 (6:29)
    • Sets Part 1 - Declaring and initializing sets (5:46)
    • Sets Part 2 - Accessing and modifying sets (9:33)
  • Strings
    • Strings Part 1 - Literals-mutability-interpolation-characters (9:41)
    • Strings Part 2 - Accessing and modifying strings (11:16)
    • Strings Part 3 - Comparing strings (3:46)
    • Strings Part 4 - Even more of accessing and modifying strings (5:04)
  • Classes - Properties - inits - Subclassing
    • Classes - initializers - properties (7:50)
    • Subclassing Part 1 (5:05)
    • Subclassing Part 2 (4:08)
  • Debugging Techniques
    • Part 1 - Using print() for debugging (12:22)
    • Part 2 - Assertions (3:58)
    • Part 3 - Breakpoints (8:15)
  • Project 1 - Storm Viewer - Get started coding in Swift by making an image viewer app and learning key concepts.
    • Project 1 Inro (1:11)
    • Part 1 - Setting up - splitting a window in two (14:10)
    • Part 2 - Adding custom controllers (8:02)
    • Part 3 - Designing our interface (4:47)
    • Part 4 - Introducing some outlets (12:55)
    • Part 5 - Showing some table rows (6:54)
    • Part 6 - Loading our images (5:30)
    • Part 7 - Responding to table selection (7:23)
    • Part 8 - Finishing touches (8:47)
  • Project 2 - Cows and Bulls - Practice your NSTableView skills while learning about random numbers and text input.
    • Project 2 Intro (2:05)
    • Part 1 - Setting up - designing our user interface (11:01)
    • Part 2 - Filling in the table view (4:30)
    • Part 3 - Setting up the game (4:46)
    • Part 4 - Marking guesses (15:14)
  • Project 3 - Social Media - Return to project 1 and add a feature to let users share their selected picture.
    • Project 3 Intro (1:00)
    • Part 1 - Setting up - subclassing NSSplitViewController (7:22)
    • Part 2 - Creating a toolBar - wrapup (13:49)
  • Project 4 - Grid Browser - Power up your web browsing experience by viewing more than one site at a time.
    • Project 4 Intro (2:21)
    • Part 1 - Setting up - Starting with the toolbar (17:31)
    • Part 2 - Layout with stack views (12:56)
    • Part 3 - App Transport Security (4:15)
    • Part 4 - Creating and destroying web views (9:10)
    • Part 5 - Whats selected? (12:57)
    • Part 6 - Handling navigation (9:20)
    • Part 7 - Adding Touch Bar controls (19:52)
    • Part 8 - Adding even more Touch Bar controls (13:10)
  • Project 5 - Capital Cities - Learn to drop map pins and measure distance in this MKMapView game.
    • Project 5 Intro (2:10)
    • Part 1 - Setting up - creating a mapView (15:27)
    • Part 2 - Dropping pins (13:00)
    • Part 3 - Keeping score (11:55)
  • Project 6 - Auto Layout - Make your apps adapt intelligently to any size screen – it's easier than you think!
    • Project 6 - Intro (1:11)
    • Part 1 - Visual Format Language (VFL) (6:06)
    • Part 2 - Auto Layout Anchors (4:12)
    • Part 3 - Stack views (3:09)
    • Part 4 - Grid views (7:15)
  • Project 7 - Photo Memories - Create watermarked videos using NSCollectionView with drag and drop.
    • Project 7 - Intro (1:41)
    • Part 1 - Setting up - Designing with collection views (12:14)
    • Part 2 - Selecting items (6:28)
    • Part 3 - Loading images from disk (9:26)
    • Part 4 - Importing files (14:53)
    • Part 5 - Re-arranging photos (10:28)
    • Part 6 - Deleting key presses with keyUp (5:30)
    • Part 7 - Optional content if you want to continue - Core Animation (17:31)
    • Part 8 - Making a video composition (13:21)
  • Project 8 - Odd One Out - Build a picture-matching game using grid view and... particle effects?
    • Project 8 - Intro (2:26)
    • Part 1 - Setting up - Creating a grid of buttons (16:01)
    • Part 2 - Generating layouts (9:19)
    • Part 3 - Click to win (3:52)
    • Part 4 - Game over (13:55)
    • Part 5 - Finishing touches (5:22)
  • Project 9 - GCD - Learn how to create background threads, delay work, and even parallelize complex operations.
    • Project 9 Intro (1:19)
    • Part 1 - Performing selectors in background - Running arbitrary code on different threads (10:38)
    • Part 2 - Running delayed code - Concurrent execution (8:28)
  • Project 10 - WeatherBar - Display your local weather in the macOS status bar using JSON and GCD.
    • Project 10 - Intro (2:51)
    • Part 1 - Setting up - The art of nothingness (7:13)
    • Part 2 - Creating a settings screen (16:47)
    • Part 3 - Saving and loading settings (13:24)
    • Part 4 - Parsing JSON (8:03)
    • Part 5 - Updating the User Interface (18:09)
    • Part 6 - Creating more menu items (7:15)
  • Project 11 - Bubble Trouble - Create a physics-based bubble popping game with timers, sound effects, and more.
    • Project 11 - Intro (1:18)
    • Part 1 - Setting up - Cleaning up the Xcode template (4:26)
    • Part 2 - Bubbles bubbles everywhere (8:14)
    • Part 3 - Setting the universe in motion (9:40)
    • Part 4 - Adding some difficulty (3:29)
    • Part 5 - Gotta pop em all (10:43)
  • Project 12 - Animations - Master Core Animation by learning a variety of ways to bring your UI to life.
    • Project 12 Intro (1:07)
    • Part 1 - Setting up - Constructing a test environment (6:34)
    • Part 2 - Basic animator proxy use (4:22)
    • Part 3 - Animating layers (4:49)
    • Part 4 - Advanced layer animation (7:57)
  • Project 13 - Screenable - Get to grips with Core Graphics and NSDocument by building a screenshot-editing app.
    • Project 13 Intro (3:35)
    • Part 1 - Designing the user interface (19:16)
    • Part 2 - Designing the user interface continued (8:02)
    • Part 3 - Populating the popup buttons (6:13)
    • Part 4 - Drawing images and gradients (13:29)
    • Part 5 - Rendering the caption (15:35)
    • Part 6 - Importing a screenshot (10:46)
    • Part 7 - Exporting the finished product (5:46)
    • Part 8 - NSDocument and NSCoding (10:36)
    • Part 9 - NSDocument and NSCoding continued (10:23)
  • Project 14 - Shooting Gallery - Build a fast-paced shooting game with animations, new levels, and a custom mouse cursor.
    • Project 14 Intro (1:41)
    • Part 1 - Setting up - Creating the game world (10:28)
    • Part 2 - Creating a custom node (8:23)
    • Part 3 - Click click bang (7:31)
    • Part 4 - Adding some polish (12:52)
  • Project 15 - NSUdoManager - Learn to let your apps forgive and forget user mistakes with NSUndoManager.
    • Project 15 Intro (2:09)
    • Part 1 - Setting up - Reversible changes (8:16)
    • Part 2 - Doubling up methods (10:34)
  • Project 16 - Bookworm - Track the books you've read while writing any hardly any code, by using "Bindings."
    • Project 16 Intro (2:17)
    • Part 1 - Set up for success (15:09)
    • Part 2 - Manipulating arrays with NSArrayController (6:19)
    • Part 3 - Binding everything (7:03)
    • Part 4 - Creating an emoji formatter (7:27)
    • Part 5 - Presenting a credits screen (9:34)
  • Project 17 - Match Three - Build a ball-matching game with SpriteKit, while learning about shape nodes and particle emitters.
    • Project 17 Intro (1:31)
    • Part 1 - Setting up - A grid of balls (12:55)
    • Part 2 - Matching colors (12:15)
    • Part 3 - Making room for more (8:28)
    • Part 4 - Tracking score (8:42)
    • Part 5 - A puff of smoke (5:57)
  • Project 18 - Bindings - Practice your bindings skill by converting temperatures with KVC and KVO.
    • Project 18 Intro (1:39)
    • Part 1 - KVC and KVO (8:52)
    • Part 2 - The imperial march (10:04)
    • Part 3 - Property observers and KVO (4:41)
    • Part 4 - Dependent properties and formatters (11:10)
  • Frequent Flyer Club Hacking with macOS
    • Frequent Flyer Club Hacking with macOS (2:07)

View Full Curriculum


Access
Lifetime
Content
19 hours
Lessons
143

Hacking With Swift 3: Beginner to Pro - Build 19 Apps

Learn How to Code In iOS 10 By Actually Building Apps

By Stephen DeStefano | in Online Courses

The best way to learn how to code iOS 10 apps is by actually building iOS 10 apps. In this course, you learn while making real-world iOS projects, applying your new skills immediately. Completely covering all aspects of Apple's official programming language, this course will also make the perfect reference tool kit, giving you a portfolio of completed apps that you can continually revisit to understand how to tackle future programming problems.

  • Access 143 lectures & 19 hours of content 24/7
  • Learn Swift by use of diagrams, highlighting & callouts
  • Understand how to use controls, outlets & actions, & logic for smooth control flow
  • Work w/ the social framework
  • Explore SpriteKit & building games
  • Add audio & animations to your apps
  • Master strings in Swift 3
Stephen DeStefano is an Apple developer who has been creating apps for 7 years. He has worked with top programmers in the field, and continuously stays current and grows with Apple as technology continues to evolve. His goal here is to create video instruction that makes it easy for students to work with Apple's new language, Swift, and incorporate that knowledge into creating, some pretty amazing apps.

Details & Requirements

  • Length of time users can access this course: lifetime
  • Access options: web streaming, mobile streaming
  • Certification of completion not included
  • Redemption deadline: redeem your code within 30 days of purchase
  • Experience level required: beginner

Compatibility

  • Internet required
  • Xcode 8 required (free to download)

Course Outline

  • Introduction to the course
    • Hacking With Swift - Paul Hudson - Introduction to the course (3:56)
    • Hacking With Swift Frequent Flyer Club (2:06)
  • Getting to know Xcode 8
    • Part 1 - Xcode 8 (6:36)
    • Part 2 - The Project Navigator - Adding files to the project (7:45)
    • Part 3 - The Navigators Continued (5:03)
    • Part 4 - Template, Code Snippet, and Media Libraries (4:03)
    • Part 5 -Utilities Pane - The Object Library and Document Outline (5:57)
    • Part 6 - Playgrounds - segues - Xcode wrapup (14:40)
    • Demo
  • The Swift 3 Language
    • Variables - Part 1 - Data Types - Type Annotation - Type Inference (5:56)
    • Variables - Part 2 - Data Types - Type Annotation - Type Inference continued (7:17)
    • Variables resource
    • Operators Part 1 - Unary, Binary, Ternary, Assignment, and Remainder operators (4:57)
    • Operators Part 2 - Increment, Decrement, Minus Unary, Compound Assignment, Comparison, Identity, and Nil Coalescing operators (5:09)
    • Operators Part 3 - Range, and Logical operators (5:47)
    • Operator resources
    • Functions Part 1 - Declaring - Syntax - Return (6:25)
    • Functions Part 2 - Working with functions (11:03)
    • Functions Part 3 - Working with more functions (3:17)
    • Functions Part 4 - Nested Functions (7:10)
    • Function resources
    • Nested function resources
    • Optionals (7:23)
    • Optional resources
    • Structs (10:44)
    • Struct resources
    • Computed Properties (6:02)
    • Computed Property resources
    • Property Observers (5:14)
    • Property Observer resources
    • Extensions (6:34)
    • Extension resources
    • Protocols Part 1 - Syntax and declaring - Adding functions (8:28)
    • Protocols Part 2 - Adding properties - Delegation - Static keyword (13:35)
    • Protocol resources
    • Enums Part 1 - Raw values - Associated values (9:37)
    • Enums Part 2 - Implicitly assigned raw values (7:37)
    • Enums Part 3 - Initializing - recurssive enums (8:42)
    • Enum resources
    • Generics Part 1 (9:11)
    • Generics Part 2 (10:40)
    • Generic resources
    • Type Casting - Part 1 - The "as" and "is" operators (9:48)
    • Type Casting - Part 2 - Using AnyObject and Any (9:27)
    • Type Casting resources
    • Nested Types (11:06)
    • Nested Type resources
    • Tuples part 1 - Using and accessing values (7:18)
    • Tuples part 2 - Using them with functions and optionals (6:38)
    • Tuple resources
    • Closures Part 1 - Syntax and Optimizations (14:43)
    • Closures Part 2 - Trailing Closures (10:41)
    • Closures Part 3 - Capturing Values (8:43)
    • Closure resources
  • Control Flow
    • if statement - else if - nested if's (6:38)
    • If statement resources
    • Switch (7:30)
    • Switch resources
    • for in loop (8:02)
    • while and repeat while loops (4:10)
    • Loops resources
  • Collections
    • Arrays Part 1 - Declaring and initialiizing an array (4:34)
    • Array Part 2 - Accessing and modifying an array (4:47)
    • Arrays Part 3 - More of accessing and modifying an array (4:34)
    • Array resources
    • Dictionary Part 1 - Declaring and initializing a dictionary (7:40)
    • Dictionary Part 2 - Accessing and modifying a dictionary (6:29)
    • Dictionary resources
    • Sets Part 1 - Declaring and initializing sets (5:46)
    • Sets Part 2 - Accessing and modifying sets (9:33)
    • Set resources
  • Strings
    • Strings Part 1 - Literals-mutability-interpolation-characters (9:41)
    • Strings Part 2 - Accessing and modifying strings (11:16)
    • Strings Part 3 - Comparing strings (3:46)
    • Strings Part 4 - Even more of accessing and modifying strings (5:04)
    • String resources
  • Classes - Properties - inits - Subclassing
    • Classes - initializers - properties (7:50)
    • Subclassing Part 1 (5:05)
    • Subclassing Part 2 (4:08)
    • Class resources
  • Whats New in Swift 3.0
    • Part 1 - Depreciations - Method and Parameter names - Omit needless words (10:32)
    • Part 2 - Lowercase enums and properties - Foundation Framework namings (5:54)
    • Part 3 - Importing C Funcs - Dispatch - KVO - Verbs and Nouns (8:23)
    • Swift 3 resources
  • Beginner Apps - Easy to build apps for the novice
    • Part 1 - Setting up the UI (9:29)
    • Part 2 - Outlets and actions - updating the background color with code (12:08)
    • Part 3 - Updating the labels with values (10:38)
    • Part 4 - Adding animation (5:21)
    • RGB resources
  • Project 1 - Storm Viewer - Get started coding in Swift by making an image viewer app and learning key concepts
    • Project 1 Intro (1:05)
    • Part 1 - Setting up (3:53)
    • Part 2 - Listing images with FileManager (15:59)
    • Part 3 - Designing our interface (7:35)
    • Part 4 - Showing lots of rows (11:17)
    • Part 5 - Building a detail screen (12:15)
    • Part 6 - Loading images with UIImage (10:33)
    • Part 7 - Final tweaks - hidesBarOnTap (10:11)
    • Content resources
    • Project 1 resources
  • Project 2 - Guess the Flag - Make a game using UIKit, and learn about integers, buttons, colors and actions
    • Project 2 Intro (1:10)
    • Part 1 - Setting up and designing the layout (14:41)
    • Part 2 - Making the basic game work (13:31)
    • Part 3 - Guess which flag (5:50)
    • Part 4 - From outlets to actions (14:54)
    • Content resources
    • Project 2 resources
  • Project 3 - Social Media - Let users share to Facebook and Twitter by modifying project 1
    • Project 3 Intro (1:12)
    • Part 1 - Adding Sharing (8:52)
    • Part 2 - Twitter and Facebook - SLComposeViewController (5:28)
    • Project 3 resources
  • Project 4 - Web Browser - Embed Web Kit and learn about delegation, KVO, classes and UIToolbar
    • Project 4 Intro (1:27)
    • Part 1 - Setup (12:57)
    • Part 2 - Choosing a website (6:46)
    • Part 3 - Monotoring page loads with KVO (12:02)
    • Part 4 - Refactor for the win (11:34)
    • Project 4 resources
  • Project 5 - Word Scramble - Create an anagram game while learning about closures and booleans
    • Project 5 Intro (2:02)
    • Part 1 - Setting up and reading from disk with contentsOfFile (12:02)
    • Part 2 - Prompt user for his answer - closures (13:49)
    • Part 3 - Prepare for submission using lowercased and indexPath (7:06)
    • Part 4 - checking the users words (13:43)
    • Part 5 - Giving the user feedback (6:08)
    • project 5 content files
    • Project 5 resources
  • Project 6 - Auto Layout - Get to grips with Auto Layout using practical examples and code
    • Project 6 Intro (1:35)
    • Part 1 - Portrait and landscape constraints (7:49)
    • Part 2 - Horizontal and vertical constraints with VFL (12:05)
    • Part 3 - Horizontal and vertical constraints with VFL continued (8:48)
    • Part 4 - Auto layout anchors (5:21)
    • Project 6b resources
    • Project 6b resources
  • Project 7 - Whitehouse Petitions - Make an app to parse Whitehouse petitions using JSON and a tab bar
    • Project 7 Intro (0:59)
    • Part 1 - Creating the basic UI - UITabBarController (8:34)
    • Part 2 - Parsing JSON - Data and SwiftyJSON (12:57)
    • Part 3 - Rendering a petition - loadHTMLString (8:06)
    • Part 4 - Finishing touches - didFinishLaunching (11:47)
    • Project 7 files
    • Project 7 resources
  • Project 8 - Swifty Words - Build a word-guessing game and master strings once and for all
    • Project 8 Intro (1:41)
    • Part 1 - Setup the UI (17:37)
    • Part 2 - loading a level (14:39)
    • Part 3 - Its play time - index(of) and joined() (7:09)
    • Part 4 - Property Observers - next level (4:39)
    • project 8 files
    • Project 8 resources
  • Project 9 - Grand Central Dispatch - Learn how to run complex tasks in the background with GCD
    • Project 9 Intro (1:42)
    • Part 1 - GCD explained - Why is locking the UI bad? (4:53)
    • Part 2 - Back to the main thread with DispatchQueue and an alternative to DispatchQueue (16:04)
    • Project 9 resources
  • Project 10 - Names To Faces - Get started with UICollectionView and the photo library
    • Project 10 Intro (1:44)
    • Part 1 - Setup - Designing UICollectionView cells (9:04)
    • Part 2 - UICollectionView data sources (3:55)
    • Part 3 - Importing photos with UIImagePickerController (11:09)
    • Part 4 - Custom subclasses of NSObject (6:36)
    • Part 5 - Connecting up the people (8:43)
    • Project 10 resources
  • Project 11 - Pachinko - Dive into SpriteKit to try your hand at fast 2D games
    • Project 11 Intro (1:24)
    • Part 1 - Setting up - Falling boxes - SKSpriteNode - UITouch - SKPhysicsBody (14:45)
    • Part 2 - Bouncing balls - circleOfRadius (8:30)
    • Part 3 - Spinning slots - SKAction (6:15)
    • Part 4 - Collision detection (10:42)
    • Part 5 - Scores on the board - SKLabelNode (12:40)
    • Part 6 - Special effects (9:00)
    • project 11 files
    • Project 11 resources
  • Project 12 - UserDefaults - Learn how to save user settings and data for later use
    • Project 12 Intro (1:10)
    • Part 1 - Setup - Reading and writing basics - UserDefaults (9:48)
    • Part 2 - Fixing project 10 - NSCoding (8:22)
    • Project 12 resources
  • Project 13 - InstaFilter - Make a photo manipulation program using Core Image filters and a UISlider
    • Project 13 Intro (2:08)
    • Part 1 - Setting up - Designing the interface (10:11)
    • Part 2 - Applying filters - CIContext and CIFilter (19:27)
    • Part 3 - Saving to the iOS photo library (7:25)
    • Project 13 resources
  • Project 14 - Whack a Penguin - Build a game using SKCropNode and a sprinkling of Grand Central Dispatch
    • Project 14 Intro (1:18)
    • Part 1 - Getting up and running - SKCropNode (16:34)
    • Part 2 - Penguin show thyself - SKAction moveBy(xy duration) (12:49)
    • Part 3 - Whack to win - SKAction sequences (11:00)
    • project 14 files
    • Project 14 resources
  • Project 15 - Animation - Bring your interfaces to life with animation, and meet switch/case at the same time
    • Animation intro (0:59)
    • Part 1 - Setting up - Preparing for action - Switch case and animate(withDuration) (11:04)
    • Part 2 - Adding more animations using animate(withDuration) (10:58)
    • project15-files
    • Project15
  • Project 16 - JavaScript Injection - Extend Safari with a cool feature for JavaScript developers
    • Project 16 Intro (2:08)
    • Part 1 - Setting up (3:15)
    • Part 2 - Adding an extension - NSExtensionItem (4:49)
    • Part 3 - What do you want to get (4:05)
    • Part 4 - Establishing communication (4:36)
    • Part 5 - Editing multiline text with UITextView (8:43)
    • Part 6 - Fixing the keyboard - NotificationCenter (10:46)
    • Project16
  • Project 17 - Swifty Ninja - Learn to draw shapes in SpriteKit while making a fun and tense slicing game
    • Project 17 Intro (1:01)
    • Part 1 - Setting up - Basics quick start SKShapeNode (10:52)
    • Part 2 - Shaping up for action - CGPath and UIBezierPath (11:59)
    • Part 3 - Enemy or bomb - AVAudioPlayer (12:36)
    • Part 4 - Follow the sequence (10:23)
    • Part 5 - Slice to win (6:13)
    • Part 6 - Game over man - SKTexture (6:23)
    • Project 17 files
    • Project 17
  • Project 18 - Debugging - Everyone hits problems sooner or later, so learning to find and fix them is an important skill
    • Project 18 Intro (1:51)
    • Part 1 - Basic Swift debugging using print() (4:04)
    • Part 2 - Debugging with assert() (3:14)
    • Part 3 - Breakpoints (7:31)
    • Part 4 - View debugging (5:08)
  • Project 19 - Capital cities
    • Project 19 Intro (1:26)
    • Part 1 - Setting up - Up and running with MapKit (9:39)
    • Part 2 - Annotations and accessory views - MKPinAnnotationView (8:54)

View Full Curriculum



Terms

  • Instant digital redemption