Andrew Jaffee's Projects
Swift project (Xcode 8.2.1) demonstrating basic block animation, Auto Layout, and view geometry.
Xcode 13 beta project demonstrating Swift 5.5 async/await core concurrency concept in iOS 15 beta
Beyond the sandbox: using app groups to communicate between iOS or macOS apps (Xcode 13.2.1 and Swift 5.5)
A project (Xcode 8.2.1) demonstrating blocks/closures in iOS with Objective-C. Blocks/closures allow you to create chunks of almost any type of code that can be called almost anywhere, anytime (like in the future).
A project (Xcode 8.2.1) demonstrating closures in iOS with Swift 3. Closures allow you to create chunks of almost any type of code that can be called almost anywhere, anytime (like in the future).
A project (Xcode 8.2.1) demonstrating concurrency in iOS using Grand Central Dispatch (GCD) with Objective-C.
A project (Xcode 8.2.1) demonstrating concurrency in iOS using Grand Central Dispatch (GCD) with Swift 3.
This Xcode 9 project demonstrates concurrency in iOS using Grand Central Dispatch (GCD) and compares concurrent (asynchronous) queues and serial (synchronous) queues.
An Xcode 9 written with Swift 4 to introduce concurrency using BlockOperation, a "concrete subclass of Operation that manages the concurrent execution of one or more blocks." [1]
An Xcode 9 project written in Swift 4 code to communicate with a wearable heart rate monitor using the Core Bluetooth framework.
An Xcode 9 project written in Objective-C that crashes and causes OS X to generate a crash report.
A project (Xcode 8.2.1) demonstrating saving user preferences using NSUserDefaults in iOS 10 with Swift 3.
A project (Xcode 9) demonstrating delegates/delegation in iOS with Objective-C. I create a simple delegate for a user interface class (think UICollectionViewDelegate).
A project (Xcode 9) demonstrating delegates/delegation in iOS with Swift 4. I use delegation to get notified and do whatever I want when a file has finished downloading.
An Xcode 9 playground written in Swift 4 code that explores Error Handling when manipulating the iOS file system.
An Xcode 9 project that consumes/uses a simple, useful Swift 4 framework (bundle).
An Xcode 9 project written in Swift 4 to write data to and read data from the HealthKit framework. Some data is collected using Core Bluetooth.
A simple login form built with Interface Builder to contrast with SwiftUI (Xcode 14.2 and Swift 5.7)
An Xcode 10 beta 2 project, written in Swift 4.2, demonstrating how to create an iOS 12 beta 2 extension to add a custom user interface to local and push notifications.
An Xcode 10 beta 2 project, written in Swift 4.2, demonstrating how to configure iOS 12 beta 2 provisional authorization for "Deliver Quietly" notifications.
An Xcode 9 project written in protocol-oriented Swift 4 code to create a wrapper for the iOS FileManager class and API.
An Xcode project, written in Swift, meant to demonstrate a Git "merge request."
I used Swift 3 to create a message box class hierarchy to demonstrate object-oriented principles like classes, inheritance, encapsulation, reusability, and polymorphism.
An Xcode 9 project written in Swift 4 code designed using the MVVM design pattern, truly extolling the virtues of MVVM over MVC.
NSNotificationCenter in Swift 4: Intra-app communication, sending, receiving, listening, stop listening for messages.
An Xcode 9 playground written in Swift 4 to demonstrate property observers.
I use Swift 3 to demonstrate the object-oriented programming (OOP) characteristic of "polymorphism." Polymorphism enables you to develop general code that works with groups of related classes instead of developing code for each individual class.
With polymorphism, several descendant object/instance references can be assigned to a reference to the parent class, and yet the parent can exhibit the behavior of the descendant. In other words, you can declare a variable of a certain type (parent/UIControl) and it can store references of that type, but it can also store references to any child (subclass) of that type (here, UITextField, UISlider, UISegmentedControl, and UIStepper).
An Xcode 10 project, written in Swift 4.2, companion to my tutorial on optimizing code using the Instruments Time Profile.
Two Xcode 9 playgrounds written in Swift 4 that highlight protocol oriented programming and value semantics.