A few weeks ago, I spoke at Realm in San Francisco at the Swift Language User Group (#SLUG) meetup. A video of the talk is now online over at Realm’s blog, where it is synced with my slides. If you haven’t already seen it, go check it out!


Realm’s transcript of the talk is excellent. They always do such an amazing job with these posts! 🙌

This talk examines the UIPresentationController API that was introduced in iOS 8 and explores ideas for making it more swifty. It isn’t too technical, but these APIs are really interesting to me and can be really powerful. However, I feel like they are often overlooked. (Maybe this is because a lot of developers are still supporting iOS 7?) Where developers could utilize these APIs, they instead opt for view controller containment — which is often more cumbersome.

I’m formalizing these ideas from the talk (and possibly more!) in a new framework — PresenterKit. It is not quite finished, but when it is I will push it to CocoaPods. Meanwhile, feel free to check it out. There is also an example project, which includes all the code from the talk.

Overall, I think the talk was really well received. If you have any feedback, I would love to hear it. Let me know! 😀


One major shortcoming of UIKit is that view controllers have too many responsibilities. This talk focuses on one — presenting and dismissing view controllers — and how we can re-examine and redefine these common operations with a more Swifty API that reduces boilerplate and increases expressivity.

Swifty Presenters