CharacterSet
In Japan, there’s a comedy tradition known as Manzai (漫才). It’s kind of a cross between stand up and vaudeville, with a straight man and a funny man delivering rapid-fire jokes that revolve around...
View ArticleBundles and Packages
In this season of giving, let’s stop to consider one of the greatest gifts given to us by modern computer systems: the gift of abstraction.Consider those billions of people around the world who use...
View ArticleEquatable and Comparable
Objective-C required us to wax philosophic about the nature of equality and identity. To the relief of any developer less inclined towards discursive treatises, this is not as much the case for...
View ArticleSwift Import Declarations
One of the first lessons we learn as software developers is how to organize concepts and functionality into discrete units. At the smallest level, this means thinking about types and methods and...
View ArticleDictionary Services
This week’s article is about dictionaries. No, not the Dictionary / NSDictionary / CFDictionaryRef we encounter every day, but rather those distant lexicographic vestiges of school days past.But...
View Articleswift-sh
Swift is a fast, safe, modern programming language with an open governance model and a vibrant community. There’s no reason that it should be limited to just making apps. And indeed, many smart people...
View ArticleSwift GYB
The term “boilerplate” goes back to the early days of print media. Small regional newspapers had column inches to fill, but typically lacked the writing staff to make this happen, so many of them...
View ArticleTextOutputStream
print is among the most-used functions in the Swift standard library. Indeed, it’s the first function a programmer learns when writing “Hello, world!”. So it’s surprising how few of us are familiar...
View ArticleExpressibleByStringInterpolation
Swift is designed — first and foremost — to be a safe language. Numbers and collections are checked for overflow, variables are always initialized before first use, optionals ensure that non-values are...
View ArticleRegular Expressions in Swift
Like everyone else in the Pacific Northwest, we got snowed-in over the weekend. To pass the time, we decided to break out our stash of board games: Carcassonne, Machi Koro, Power Grid, Pandemic; we had...
View ArticleAPI Pollution in Swift Modules
When you import a module into Swift code, you expect the result to be entirely additive. That is to say: the potential for new functionality comes at no expense (other than, say, a modest increase in...
View ArticleJavaScriptCore
According to this ranking of programming language popularity, Swift and Objective-C are back to back around the 10th position — a solid showing for both languages, all things considered. …that is,...
View ArticleSwift Code Formatters
I just left a hipster coffee shop. It was packed with iOS devs, whispering amongst each other about how they can’t wait for Apple to release an official style guide and formatter for Swift.Over the...
View ArticleMapKit JS
Announced in 2018, MapKit JS takes the convenient cartographic capabilities of the MapKit framework on iOS and macOS, and brings them to the web.MapKit JS — along with MusicKit JS— usher in a new...
View ArticleLocalizedError, RecoverableError, CustomNSError
Swift 2 introduced error handling by way of the throws, do, try and catch keywords. It was designed to work hand-in-hand with Cocoa error handling conventions, such that any type conforming to the...
View ArticleXcodeKit and Xcode Source Editor Extensions
When we last wrote about extending Xcode in 2014, we were living in a golden age, and didn’t even know it.Back then, Xcode was a supposedly impenetrable castle that we’d leaned a couple of ladders...
View ArticleSwift
Since the progress of civilization in our country has furnished thousands of convenient places for this Swallow to breed in, safe from storms, snakes, or quadrupeds, it has abandoned, with a judgment...
View ArticleSwift GYB
The term “boilerplate” goes back to the early days of print media. Small regional newspapers had column inches to fill, but typically lacked the writing staff to make this happen, so many of them...
View ArticleUITableViewHeaderFooterView
UITableView is the bread and butter of iOS apps. This is as true today as it was with the first iPhone over a decade ago.Back in those early days, developers worked hard to achieve smooth scroll...
View ArticleGuided Access
Accessibility features on iOS are more like superpowers than assistive technologies. Open the Settings app and navigate to General > Accessibility and you’ll find a treasure trove of functionality,...
View Article