Mark has been a Mac programmer since 1985 and a professional Unix programmer since 1990, gleefully enjoying the combined world in Mac OS X. Mark has experience on the client side and server side, being a veteran of several startups, and larger technology operations like AOL and Google. On the back-end, he has been the technical lead for AOLserver, a high-performance web server handling billions of requests per day. On the client-side, he has worked with numerous toolkits, has had code running in space, as well as code running on millions of Macintosh desktops world-wide. Currently Mark is building iPhone software for Cycling Fusion, helping to bring the worlds of indoor and outdoor cycling together; as well as building training materials for Big Nerd Ranch. In addition to being the principal author of Learn Objective-C on the Macintosh and Advanced Mac OS X Programming, now in its third edition, he has been the technical reviewer for many Cocoa and iPhone titles with Apress. He is also the co-founder of CocoaHeads, the international Mac programmer's group, with chapters in 41 countries on six continents, and organizes the Pittsburgh CocoaHeads chapter. In his spare time he plays music, wrangles a camera, and makes balloon animals.
You've seen and used Swift attributes, such as @IBOutlet, @escaping, and @discardableResult. What are they really, and what do they do? Come meet the menagerie of these things (documented and not) that I've collected.
Polymorphism is an important tool in modern software development, from C++'s and Objective-C's classes to Swift's protocols. Learn under-the-hood details of how it all works, from vtables to code piles to existential containers.
Making efficient use of your debugging time gives you more time to do other stuff, such as introducing brand new bugs in to your app! You'll learn some tips and tricks for zeroing in on bugs faster.