# Swift: Strange tales of initialization

### Or the case of the disappearing values

November 17, 2014

While trying to create a new view controller in Swift I ran into a curious problem with initialization. The class was a relatively simple subclass of UITableViewController containing a property var values:[String] and an initializer required init(values:[String]) that delegated to the super.init(style:UITableViewStyle) initializer. So far, so . . .

# Swift and ObjC: Gotcha!

### Interop is easy right up until it isn't

November 16, 2014

Swift and Objective-C use the same runtime. They use the same ARC memory management. They certainly interoperate far more than most languages except perhaps ones targeting the CLR. You might be forgiven for thinking that writing new classes in Swift would be easy, but there are several gotchas you might encounter:

. . .

# Swift: respondsToSelector?

### Ah for those carefree days

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 . . .

# PlanGrid is Hiring

### Warning: not a technical post

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 . . .

# Swift in Xcode 6.1

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 . . .

# Swift: How did I do horrible things?

### Warning: some assembly required

August 25, 2014

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

### Taking the Dump

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

# Swift Function Currying

### Delicious partial function application

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 . . .