Cocoa Programming Developer's Handbook (Developer's Library Series)

Paperback
from $0.00

Author: David Chisnall

ISBN-10: 0321639634

ISBN-13: 9780321639639

Category: Programming - Mac Users

The Cocoa programming environment—Apple’s powerful set of clean, object-oriented APIs—is increasingly becoming the basis of almost all contemporary Mac OS X development. With its long history of constant refinement and improvement, Cocoa has matured into a sophisticated programming environment that can make Mac OS X application development quick, efficient, and even fun.\ Yet for all its refined elegance and ease of use, the staggering size of the Cocoa family of APIs and the vast magnitude...

Search in google:

The Cocoa programming environment—Apple’s powerful set of clean, object-oriented APIs—is increasingly becoming the basis of almost all contemporary Mac OS X development. With its long history of constant refinement and improvement, Cocoa has matured into a sophisticated programming environment that can make Mac OS X application development quick, efficient, and even fun.Yet for all its refined elegance and ease of use, the staggering size of the Cocoa family of APIs and the vast magnitude of the official documentation can be intimidating to even seasoned programmers.To help Mac OS X developers sort through and begin to put to practical use Cocoa’s vast array of tools and technologies, Cocoa Programming Developer’s Handbook provides a guided tour of the Cocoa APIs found on Mac OS X, thoroughly discussing—and showing in action—Cocoa’s core frameworks and other vital components, as well as calling attention to some of the more interesting but often overlooked parts of the APIs and tools.This book provides expert insight into a wide range of key topics, from user interface design to network programming and performance tuning.

Part I: Introducing Cocoa Chapter 1: Cocoa and Mac OS X 1.1 Understanding When to Use Cocoa1.2 Understanding Cocoa's Role in Mac OS X1.3 OverviewChapter 2: Cocoa Language Options 2.1 Object Orientation2.2 Objective-C2.3 Ruby and Python2.4 SummaryChapter 3: Using Apple's Developer Tools 3.1 Obtaining Apple's Developer Tools3.2 Interface Builder3.3 XCode3.4 Objective-C3.5 Cocoa Conventions3.6 SummaryPart II: The Cocoa FrameworksChapter 4: Foundation: The Objective-C Standard Library 4.1 General Concepts4.2 Core Foundation Types4.3 Basic Data Types4.4 Collections4.5 Enumeration4.6 Property Lists4.7 Interacting with the Filesystem4.8 Notifications4.9 SummaryChapter 5: Application Concepts 5.1 Run Loops5.2 Applications and Delegates5.3 The Responder Chain5.4 Run Loops in Applications5.5 Delegates and Notifications5.6 The View Hierarchy5.7 SummaryChapter 6: Creating Graphical User Interfaces 6.1 Positioning Views6.2 Nested Views6.3 Creating Views6.4 Cocoa Bindings6.5 SummaryChapter 7: Windows and Menus 7.1 Understanding Windows7.2 Creating Windows7.3 Creating Window Objects7.4 Panels7.5 Sheets7.6 Alert Dialogs7.7 Menus7.8 SummaryChapter 8: Text in Cocoa 8.1 Constructing and Deconstructing Strings8.2 Annotating Strings8.3 Localization8.4 Text Storage8.5 Understanding Fonts8.6 Displaying Text8.7 Writing a Custom Text Container8.8 Using Multiple Text Views8.9 SummaryPart III: Cocoa Documents Chapter 9: Creating Document-Driven Applications 9.1 The Cocoa Document Model9.2 Creating the Application Skeleton9.3 Creating the Document9.4 Extending the Outliner9.5 Supporting Undo9.6 Adding Undo to the Outliner9.7 SummaryChapter 10: Core Data 10.1 Introducing Data Modeling10.2 Understanding Managed Objects10.3 Attribute Types10.4 Creating a Data Model10.5 Choosing a Persistent Store10.6 Storing Metadata10.7 Automatic Undo10.8 Core Data, Spotlight, and Time Machine10.9 SummaryPart IV: Complex User Interfaces Chapter 11: Working with Structured Data 11.1 Data Sources and Delegates11.2 Tables11.3 Outline Views11.4 Browsers11.5 Collection Views11.6 Customizing Views with New Cells11.7 Creating Master-Detail Views11.8 SummaryChapter 12: Dynamic Views 12.1 Tabbed Views12.2 Inspecting the View Hierarchy12.3 Modifying the View Hierarchy12.4 Creating Dynamic Input Forms12.5 Full-Screen Applications12.6 SummaryPart V: Advanced Graphics Chapter 13: Custom Views 13.1 The Graphics Context13.2 Core Graphics13.3 AppKit Drawing13.4 Printing and Paginating Views13.5 Extending Interface Builder with Palettes13.6 SummaryChapter 14: Sound and Video14.1 Beeping14.2 Playing Simple Sounds14.3 Understanding Cocoa Movie Objects14.4 Adding Video14.5 Editing Media14.6 Low-Level Sound APIs14.7 Sound and Video Recording14.8 Supporting Speech14.9 Cocoa Speech Synthesis14.10 Conversing with Users14.11 SummaryChapter 15: Advanced Visual Effects 15.1 Simple Animation15.2 Core Animation Overview15.3 Understanding Animation Concepts15.4 Adding Simple Animations15.5 Image Filters15.6 Defining Transitions15.7 Creating Complex Animations15.8 3D Core Animation Transforms15.9 OpenGL and Cocoa Views15.10 Quartz Composer15.11 SummaryChapter 16: Supporting PDF and HTML16.1 HTML in AppKit16.2 Advanced HTML Support16.3 Dynamic Interfaces with WebKit16.4 PDF and Quartz16.5 Displaying PDFs16.6 SummaryPart VI: User Interface Integration Chapter 17: Searching and Filtering 17.1 Maintaining Document Indexes17.2 Displaying Search Boxes17.3 Searching for Documents17.4 Spotlight17.5 Predicates17.6 Quick Look17.7 SummaryChapter 18: Contacts, Calendars, and Secrets 18.1 Address Book Overview18.2 Getting Information About People18.3 Searching the Address Book18.4 Populating the "Me" vCard18.5 Adding People to the Address Book18.6 Storing Secrets18.7 Calendars18.8 Synchronizing Data18.9 SummaryChapter 19: Pasteboards 19.1 Pasteboard Overview19.2 Pasteboard Types19.3 Filtered Types19.4 Property List Data19.5 Self-Encoding Objects19.6 Files and Pasteboards19.7 Copy and Paste19.8 Drag and Drop19.9 Drag and Drop with Data Views19.10 SummaryChapter 20: Services 20.1 Example Services20.2 An Evaluate Service20.3 Using Services20.4 Controlling the Services Menu20.5 Filter Services20.6 SummaryChapter 21: Adding Scripting21.1 Scripting Overview21.2 Making Objects Scriptable21.3 Scripting from Cocoa21.4 Exposing Services to Automator21.5 Other Scripting Technologies21.6 SummaryPart VII: System ProgrammingChapter 22: Networking 22.1 Low-Level Socket Programming22.2 Cocoa Streams22.3 URL Handling22.4 Bonjour22.5 Distributed Objects22.6 SummaryChapter 23: Concurrency 23.1 Distributed Objects23.2 Threading23.3 Child Processes23.4 Operation Queues23.5 Grand Central Dispatch23.6 OpenCL23.7 SummaryPart VIII: Appendixes Chapter 24: Portable Cocoa 24.1 NeXT and Sun24.2 Mobile OS X on the iPhone24.3 OpenStep and GNU24.4 GNUstep24.5 QuantumSTEP24.6 Cocotron24.7 GNUstepWeb and SOPEChapter 25: Advanced Tricks 25.1 The Preprocessor25.2 Control Structures25.3 Clean Code25.4 Optimization25.5 Cross-Platform Cocoa25.6 The Runtime System