The Cocoa frameworks are some of the most powerful for creating native OS X apps available today. However, for a first-time Mac developer, just firing up Xcode 4 and starting to browse the documentation can be a daunting and frustrating task. The Objective-C class reference documentation alone would fill thousands of printed pages, not to mention all the other tutorials and guides included with Xcode. Where do you start? Which classes are you going to need to use? How do you use Xcode and the rest of the tools?
Learn Cocoa for the Mac, Second Edition, completely revised for OS X Mountain Lion and XCode 4, answers these questions and more, helping you find your way through the jungle of classes, tools, and new concepts so that you can get started on the next great OS X app today. Jack Nutting and Peter Clark are your guides through this forest; Jack and Peter have lived here for years, and will show you which boulder to push, which vine to chop, and which stream to float across in order to make it through. You will learn not only how to use the components of this rich framework, but also which of them fit together, and why.
Jack Nutting's approach, combining pragmatic problem-solving with a deep respect for the underlying design philosophies contained within Cocoa, stems from years of experience using these frameworks. Peter Clark will show you which parts of your app require you to jump in and code a solution, and which parts are best served by letting Cocoa take you where it wants you to go. The path over what looks like a mountain of components and APIs has never been more thoroughly prepared for your travels. In each chapter, you'll build an app that explores one or more areas of the Cocoa landscape. With Jack's and Peter's guidance, the steep learning curve becomes a pleasurable adventure. There is still much work for the uninitiated, but by the time you're done, you will be well on your way to becoming a Cocoa master.
What you'll learn
How to effectively use Xcode to make your own Cocoa applications—this is much more than just a quick introduction to Cocoa!
How to best use MVC architecture concepts in a Cocoa application
Which classes, of the dozens included in Cocoa, are truly central to Cocoa development.
How the various pieces of the Cocoa frameworks fit with each other and into the MVC architecture
Which parts of Cocoa truly enable "visual programming", letting you reap the benefits of proven, reusable code libraries that Apple gives you for free
How to recognize recurring design patterns used throughout Cocoa, such as delegation and key-value coding, and put them to proper use in your own code
Where some of the deeper technologies, like Core Data and Cocoa bindings, fit into your app
How to use the facilities provided in OS X to create software that distributes itself automatically among all available CPUs, improving the user experience for your users.
How to approach Cocoa from different programming environments
Who this book is for
Anyone with a basic understanding of object-oriented programming who wants to try out OS X app programming, as well as iPhone developers who want to extend their knowledge of Cocoa touch to include the Mac-specific technologies included with Cocoa.