Swift: respondsToSelector?

Ah for those carefree days

Russ Bishop
October 19, 2014

Welcome to another glorious Swift post, brought to you from foggy outer sunset in San Francisco. I'm working full time on iOS and loving every minute of it.

Today, let's talk about optional method chaining and respondsToSelector. Normally in Objective-C land, we have to do a little dance any time we want to handle selectors . . .

Read More

PlanGrid is Hiring

Warning: not a technical post

Russ Bishop
October 19, 2014

I hate posting business-y kind of stuff so I'll keep these kinds of non-technical posts infrequent.

At PlanGrid we are hiring. If you live in the San Francisco area or are interested in moving here, please check out the available positions, including Data Scientist, QA/QC, Backend dev, and others.

We're a startup . . .

Read More

Swift in Xcode 6.1

Further Updates

Russ Bishop
September 10, 2014

In the lifecycle of any release there comes a time when known bugs are far better than unknown bugs you accidentally introduce. Obviously Apple has reached that point with iOS 8, the SDK, Xcode 6, and Swift. The version shipping in the Xcode 6 GM is certainly a good release for Swift, but did you know there is a newer version of the compiler . . .

Read More

Swift: How did I do horrible things?

Warning: some assembly required

Russ Bishop
August 25, 2014

Previously, I did a horrible thing by hooking up to a Swift internal library function then probing to determine its arguments.

In today's post I want to cover how I went about doing that. Perhaps it will help you in your debugging adventures.

Taking the Dump

The first step is to dump the dylib exported symbols . . .

Read More

Swift Function Currying

Delicious partial function application

Russ Bishop
August 11, 2014

If you aren't familiar with Function Currying, the concept is fairly simple. Imagine you have some method that takes 4 arguments. If the function is curried, then the first function takes argument #1 and returns a function that takes argument #2. That function takes argument #2 and returns a function taking argument #3. This continues . . .

Read More

Swift: Beta 5

The more things change

Russ Bishop
August 05, 2014

In the fast-moving world of Swift, I'm a day late and that might as well be a year. But I'm also a developer so I just can't help myself. Let's dive into the changes in Beta 5!


  • As expected, the null coalescing operator was added ?? and lazily evaluates the right-hand side again as you'd . . .

Read More

Swift: Wherein I do a horrible thing

Don't do this; code responsibly

Russ Bishop
July 29, 2014

Please don't do this. It's horrible, unsupported, and may crash your program.

That said, let's demangle a class name by calling an internal Swift library function.

func demangleSimpleClass(mangledName: ConstUnsafePointer<Int8>, 
 moduleName: UnsafePointer . . .

Read More

   Subscribe by email and never miss a post.