Paul Hudson and Hacking With macOS – Tour of the HackingWithSwift.com site
Introductions – Course outline
Inro to Hacking with macOS – Notes for iOS devs – More then one way to do it
Intro to hacking with macOS part 1 – Notes for iOS developers
Intro to hacking with macOS part 2 – There Is More Than One Way To Do It
Xcode walk through
Xcode 8 walk through
The Swift 3 Language
Variables – Part 1 – Data types – Type annotation – Type inference
Variables – Part 2 – Data Types – Type Annotation – Type Inference continued
Operators – Part 1 – Unary, Binary, Ternary, Assignment, and Remainder operators
Operators – Part 2 – Increment, Decrement, Minus Unary, Compound Assignment
Operators – Part 3 – Range, and Logical operators
Optionals
Structs
Computed properties
Property Observers
Extensions
Protocols Part 1 – Syntax and declaring – Adding functions
Protocols Part 2 – Adding properties -Delegation – Static keyword
Enums Part 1 – Raw values – Associated values
Enums Part 2 – Implicitly assigned raw values
Enums Part 3 – Initializing – recursive enums
Generics Part 1
Generics Part 2
Type Casting – Part 1 – The “as” and “is” operators
Type Casting – Part 2 – Using AnyObject and Any
Nested Types
Tuples part 1 – Using and accessing values
Tuples part 2 – Using them with functions and optionals
Closures Part 1 – Syntax and Optimizations
Closures Part 2 – Trailing Closures
Closures Part 3 – Capturing Values
Control Flow
if statement – else if – nested if’s
Switch
for in loop
while and repeat while loops
Collections
Arrays part 1 – Declaring and initialiizing an array
Arrays part 2 – Accessing and modifying
Arrays part 3 – More of accessing and modifying
Dictionaries – Part 1
Dictionaries – part 2
Sets Part 1 – Declaring and initializing sets
Sets Part 2 – Accessing and modifying sets
Functions
Functions – Part 1 – Declaring – Syntax – Return
Functions Part 2 – Working with functions
Functions Part 3 – Working with more functions
Functions Part 4 – Nested Functions
Strings
Strings Part 1 – Literals – mutability – interpolation – characters
Strings Part 2 – Accessing and modifying strings
Strings Part 3 – Comparing strings
Strings Part 4 – Even more of accessing and modifying strings
Classes – Properties – inits – Subclassing
Classes – initializers – properties
Subclassing Part 1
Subclassing Part 2
Whats New in Swift 3.0
Part 1 – Depreciations – Method and Parameter names – Omit needless words
Part 2 – Lowercase enums and properties – Foundation Framework namings
Part 3 – Importing C Funcs – Dispatch – KVO – Verbs and Nouns
Project 1 – Storm Viewer
Intro – Storm viewer
Part 1 – Setting up – splitting a window in two
Part 2 – Adding custom controllers
Part 3 – Designing our interface
Part 4 – Introducing some outlets
Part 5 – Showing some table rows
Part 6 – Loading our images
Part 7 – Responding to table selection
Part 8 – Finishing touches
Project 2 – Cows and Bulls
Intro – Cows and Bulls
Part 1 – Setting up – designing our user interface
Part 2 – Filling in the table view
Part 3 – Setting up the game
Part 4 – Marking guesses
Project 3 – Social Media
Intro – Social Media
Part 1 – Setting up – subclassing NSSplitViewController
Part 2 – Creating a toolBar – wrapup
Project 4 – Grid Browser
Project 4 Intro
Part 1 – Setting up – Starting with the toolbar
Part 2 – Layout with stack views
Part 3 – App Transport Security
Part 4 – Creating and destroying web views
Part 5 – Whats selected?
Part 6 – Handling navigation
Part 7 – Adding Touch Bar controls
Part 8 – Adding even more Touch Bar controls
Project 5 – Capital Cities
Project 5 Intro
Part 1 – Setting up – creating a mapView
Part 2 – Dropping pins
Part 3 – Keeping score
Project 6 – Auto Layout
Project 6 – Intro
Part 1 – Visual Format Language (VFL)
Part 2 – Auto Layout Anchors
Part 3 – Stack views
Part 4 – Grid views
Project 7 – Photo Memories
Project 7 – Intro
Part 1 – Setting up – Designing with collection views
Part 2 – Selecting items
Part 3 – Loading images from disk
Part 4 – Importing files
Part 5 – Re-arranging photos
Part 6 – Deleting key presses with keyUp
Part 7 – Optional content if you want to continue – Core Animation
Part 8 – Making a video composition
Project 8 – Odd One Out
Project 8 – Intro
Part 1 – Setting up – Creating a grid of buttons
Part 2 – Generating layouts
Part 3 – Click to win
Part 4 – Game over
Part 5 – Finishing touches
Project 9 – GCD
Project 9 Intro
Part 1 – Performing selectors in background – Running on different threads
Part 2 – Running delayed code – Concurrent execution
Project 10 – WeatherBar
Project 10 – Intro
Part 1 – Setting up – The art of nothingness
Part 2 – Creating a settings screen
Part 3 – Saving and loading settings
Part 4 – Parsing JSON
Part 5 – Updating the User Interface
Part 6 – Creating more menu items
Project 11 – Bubble Trouble
Project 11 – Intro
Part 1 – Setting up – Cleaning up the Xcode template
Part 2 – Bubbles bubbles everywhere
Part 3 – Setting the universe in motion
Part 4 – Adding some difficulty
Part 5 – Gotta pop em all
Project 12 – Animations
Project 12 Intro
Part 1 – Setting up – Constructing a test environment
Part 2 – Basic animator proxy use
Part 3 – Animating layers
Part 4 – Advanced layer animation
Project 13 – Screenable
Project 13 Intro
Part 1 – Designing the user interface
Part 2 – Designing the user interface continued
Part 3 – Populating the popup buttons
Part 4 – Drawing images and gradients
Part 5 – Rendering the caption
Part 6 – Importing a screenshot
Part 7 – Exporting the finished product
Part 8 – NSDocument and NSCoding
Part 9 – NSDocument and NSCoding continued
Project 14 – Shooting Gallery
Project 14 Intro
Part 1 – Setting up – Creating the game world
Part 2 – Creating a custom node
Part 3 – Click click bang
Part 4 – Adding some polish
Project 15 – NSUndoManager
Project 15 Intro
Part 1 – Setting up – Reversible changes
Part 2 – Doubling up methods
Project 16 – Bookworm
Project 16 Intro
Part 1 – Set up for success
Part 2 – Manipulating arrays with NSArrayController
Part 3 – Binding everything
Part 4 – Creating an emoji formatter
Part 5 – Presenting a credits screen
Project 17 – Match Three
Project 17 Intro
Part 1 – Setting up – A grid of balls
Part 2 – Matching colors
Part 3 – Making room for more
Part 4 – Tracking score
Part 5 – A puff of smoke
Project 18 – Bindings
Project 18 Intro
Part 1 – KVC and KVO
Part 2 – The imperial march
Part 3 – Property observers and KVO
Part 4 – Dependent properties and formatters
Frequent Flyer Club Hacking with macOS
Frequent Flyer Club Hacking with macOS
Paul Hudson and Hacking with macOS – Tour of the HackingWithSwift.com site