Blogging Hiatus: I’ve been terrible about blogging lately. I’ve also been bad about working on my side projects. Working on a side project often gets me thinking about a blog post idea, and writing about something technical gets me in the mood to work on a side project. This process is very cyclical. For me, it’s …
Archive
February 2025
February 2023
Stopwatch Project in Swift: I’m still looking for a new project to work on. Previously, I had mentioned that I built a Podcast Downloader. That project will (still) likely never see the light of day. I’ve also been working on something else. This is a replica of Apple’s Stopwatch functionality in the Clock …
April 2021
UIKeyCommand — Part 3: macOS Catalyst Menu Items: This is the final post in a series on adding UIKeyCommands (keyboard shortcuts) to an iOS app. In this post, we’ll cover how to add menu bar items to a macOS Catalyst app using UIKeyCommands. This will not be a full tutorial on how to add menu items to macOS Catalyst apps. Instead, this post will …
UIKeyCommand — Part 2: Split View Controller: In the first post in this UIKeyCommands series, we went over the basics of UIKeyCommands and adding keyboard shortcuts to an app. Adding keyboard shortcuts to a real app can be a little more complicated, but not much. First, some background My latest update of Beer Style Guidelines has these …
UIKeyCommand — Part 1: The Basics: This post is the first in a series of three on UIKeyCommands on iOS. In this first post, we’ll go over UIKeyCommand at a high level. What are UIKeyCommands? UIKeyCommands represent a key press (or combination of key presses) on a hardware keyboard that will trigger an action. In short, you can think …
June 2016
Swift Labeled Statements: I’ll be honest. I didn’t know that Labeled Statements were a thing (let alone in Swift) until a few days ago. I discovered them while reading Pro Swift by Paul Hudson for the Philly CocoaHeads Book Club. Labeled statements allow developers to label control statements. Here’s what a for loop would …
March 2016
Fibonacci Sequence: I wrote my first post covering the Fibonacci Sequence two years ago in April 2014. The original post was written with Objective-C sample code and only considered one possible solution. A few months later, to my surprise, Apple had a session at WWDC called Advanced Swift which covered some of the …
Swift Defer Statement: Swift 2.0 included a number of new language statements. I recently wrote about the [Swift Guard Statement]({%post_url /2016/2016-03-08-swift-guard-statement %}). Defer is another statement new to Swift 2.0. Honestly, I don’t use defer as much as guard, but it can be extremely useful. What defer does …
Swift Guard Statement: Swift 2.0 added the guard statement to the language. Guard is not new with Swift, it’s been around for a while in other programming languages, such as Haskell and Erlang. Guard statements are very simple and effective. They ensure the check you are performing is true before continuing on. If the …