Autoplay
Autocomplete
Previous Lesson
Complete and Continue
Hacking with macOS - Learn to make desktop apps with Swift 3
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)
Part 1 - Setting up - subclassing NSSplitViewController
Lesson content locked
If you're already enrolled,
you'll need to login
.
Enroll in Course to Unlock