Jonathan is the Co-Founder and VP of Training at About Objects, a company that has specialized in iOS training, consulting, and development since the SDK first shipped. He originally taught himself to program in Objective-C on the NeXTStep platform in the early 90s, and has been teaching Objective-C development to others ever since. In addition to training hundreds of iOS developers, the About Objects team has led numerous successful software development projects in iOS, Objective-C and Java EE for Fortune 500 companies, Federal agencies, and small and medium businesses. Despite his being insanely busy with training and iOS project work, Jonathan's enthusiasm for Objective-C and iOS is as infectious as ever.
On the one hand, the Objective-C runtime is amazingly powerful, and exposes public APIs that allow developers to easily take advantage of nearly all its capabilities. On the other hand, developers often find themselves too busy to delve into this kind of stuff, so the runtime system's capabilities tend to be overlooked. Well, here's your opportunity to delve! In this session, you'll gain deeper insight into how message dispatching works, and learn how to take advantage of some very cool, built-in features of NSObject to do things like message broadcasting and forwarding. You'll also learn how to do some magical things with the runtime C library API, including method swizzling (wherein you change a method's implementation dynamically), isa swizzling (wherein you turn an object into an instance of a different class at runtime), and other things too wild to even mention here (…so you'll just have to see the presentation).
Interface Builder can be incredibly mysterious to new Cocoa developers. What’s the difference between a nib file and a xib file (not to mention a storyboard)? What are those File’s Owner and First Responder thingies? What are IBOutlet, IBAction, and IBOutletCollection, and how do you use them to make connections to your code? In this session we'll explore these and other Interface Builder mysteries by taking a look at how it actually works under the hood. You should come away with a solid conceptual grasp that will allow you to take fuller advantage of this insanely powerful tool.
New to iOS programming? This one day overview will introduce you to all the basic concepts you'll need to build an application. From using Xcode's templates to displaying lists of information and navigating between screens of information. When you finish the day you'll have a fully functional iOS app that you can show off to your friends.
Details coming soon!
iOS project teams, especially those working in Swift, have adopted a variety of approaches to handle mapping objects in their model layer to and from JSON values. We'll explore a new approach that can reduce manual coding tasks by providing automated encoding and decoding of model objects, while offering a comprehensive, easy to visualize model of all mappings.Source code for the presentation is from the Modelmatic project on Github.
# Swift for Objective-C Developers
A rapid, one-day introduction to Swift geared towards developers who have some prior experience in Objective-C. The course has a strong focus on language features that figure most prominently in typical, everyday coding tasks, with an emphasis on constructs (such as Optionals) that Objective-C developers tend to find the most challenging to master.
We'll spend the bulk of the day getting getting up to speed on essential features of Swift through a combination of discussions, demos, and hands-on lab exercises, that cover the following topics:
Towards the end of the day we'll try our hands at reading and writing some typical Swift code in the context of an example iOS app (to be distributed in class). The goal will be to get a hands-on feel for working with translated Objective-C APIs, and for applying Swift programming techniques to everyday coding tasks.