Provides step-by-step instructions for learning Cocoa, discussing such topics as Objective-C, controls, helper objects, archiving, Nib files and NSWindowController, and creating interface builder palettes. There's a reason that a large slice of the open-source movement has defected from running Linux on its laptops to running Mac OS X. The reason is the Unix core that underlies Mac OS X, and the development tools that run on that core. Cocoa makes it easy to create very slick Mac OS X interfaces for software (as well as to create applications in a hurry), and this new edition of Cocoa Programming for Mac OS X does an excellent job of teaching its readers how to put a Cocoa face on top of code (Objective-C code almost exclusively). If you know something about C and/or C++ programming and want to apply your skills to the Mac, this is precisely the book you want. Author Aaron Hillegass teaches a Cocoa class, and his book reads like a demonstration-driven lecture in a computer lab. That is, the book takes a heavily example-centric approach to its subject, beginning with simple announcement windows and proceeding to cover the more advanced controls and object-oriented features of Cocoa and Objective-C. Throughout, he hops back and forth between descriptions of the goal to be accomplished, listings of the code that does the job, and instructions on how to use the Mac OS X development tools to speed the development process. --David Wall Topics covered : How to write software for Mac OS X in Objective-C and, especially, with Cocoa. The new edition shows how to use NSUndoManager, add AppleScript capability to an application, do graphics work with OpenGL, and use Cocoa under Linux using GNUstep. As well, all the basic controls and design patterns are covered. The highly acclaimed introduction to Cocoa—recommended most by experienced Mac OS X developers—now updated and expanded. Here's what critics said about the first edition: "I love this book. The descriptions are clear, the examples logical. Everything a programmer needs to get up to speed on Cocoa." —Dave Mark, Editor, MacTech Magazine "Make sure this is the first one you pick up. It's the best book for a beginning Cocoa programmer." —From the review on HyperJeff.net "Reading this book is the absolute best way to learn how to harness the power of this amazing technology.Cocoa(R) Programming for Mac(R) OS X, Second Edition, will give you a complete understanding of how to use Xcode, Interface Builder, and the Cocoa frameworks to write full-featured applications for the Mac. Guiding programmers through the key features of Cocoa, this book emphasizes design patterns that enable you to predict the behavior of classes you have never used before. Written in a tutorial format, it takes you step-by-step through the creation of six applications and an Interface Builder palette. Each project introduces several new ideas, and as each concept or technique is discussed, the author, drawing on his own extensive experience, shows you the right way to use it. Updated for Xcode and Mac OS X 10.3, new chapters in this second edition include coverage of OpenGL, AppleScriptability, the undo manager, creating frameworks, and a brief introduction to using GNUstep on Linux. Aaron Hillegass, who worked at NeXT and Apple, now teaches popular Cocoa programming classes at Big Nerd Ranch. At NeXT, he wrote the first course on OpenStep, the predecessor to today's Cocoa tools.This book is based on the Big Nerd Ranch course and is influenced by more than a decade of work with OpenStep and Cocoa. Preface to the Second Edition I once studied with a wise mathematician named Soo Bong Chae. Dr. Chae had written a few really good books, and one day he told me his secret: "After I write a book, I put it away for two years. After avoiding the book for two years, I read it and rewrite the parts that need work. Then I publish it." The idea was a good one: By ignoring the book for two years, he could revise it with fresh eyes. But that's not what happened in my case. It has, indeed, been two years since I wrote the first edition of Cocoa(R) Programming for Mac(R) OS X. In that time, however, I have taught 20 classes using the book as a text. Overall, the first edition was a good book, but it was far from perfect. Where the book was weak, I have suffered. It was with great relish I eliminated these sore spots from this edition. During these two years, Apple has continued innovating upon the strong base that Mac OS X created. Hundreds of tiny improvements were made, and two large changes occurred: Project Builder was replaced by Xcode, and Cocoa bindings were added to Cocoa. Throughout this book, you will use Xcode, and Cocoa bindings are covered in Chapter 6. Also, during these years, I continued my work as a programmer. As my clients asked for certain features to be added to their products, I came to realize that several topics needed to be addressed in a new edition the book. Besides man