Xcoders talk: Objective-C Bridging

As Swift enters its fourth year in public and continues to evolve, it becomes more and more attractive to add new features using the language — but for those of us who are blessed with large legacy codebases, crossing the divide between Objective-C and Swift can be a burden. What’s more, some of the language features in Objective-C that can help ease this transition aren’t necessarily well-documented or publicized.

This is an issue I’ve been grappling with in different projects for some time, and so when the opportunity arose to discuss the topic at our local Xcoders meetup, I took it. I think this talk had the fewest slides of any presentation I’ve ever given, so I won’t reproduce them here, but the example project is available on GitHub — both before and after the changes from the talk. You can also find a video of the talk on Vimeo.

Much of this material is available in other forms, primarily written:

I mentioned at the end of the talk that I was looking for a way to provoke a compiler warning in Objective-C code related to the NS_NOESCAPE attribute. I did a little more research, and got excited about an OpenRadar page describing a related issue… only to realize I filed this bug years ago, and that it remains open!

In any event, many thanks to Xcoders for hosting me, and to the gracious folks in the audience who took a whole app for Animoji Karaoke in stride. And if you’re ever interested in speaking on a topic like this, let Xcoders know!