Cocoa Programming Developer's Handbook
معرفی کتاب «Cocoa Programming Developer's Handbook» نوشتهٔ David Chisnall، منتشرشده توسط نشر Addison-Wesley Professional در سال 2010. این کتاب در فرمت pdf، زبان انگلیسی ارائه شده است. «Cocoa Programming Developer's Handbook» در دستهٔ بدون دستهبندی قرار دارد.
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. Home Page......Page 0 Contents......Page 6 List of Figures......Page 18 List of Tables......Page 24 Preface......Page 26 I: Introducing Cocoa......Page 30 1.1 Understanding When to Use Cocoa......Page 32 1.2 Understanding Cocoa’s Role in Mac OS X......Page 38 1.3 Overview......Page 45 2.1 Object Orientation......Page 46 2.2 Objective-C......Page 48 2.3 Ruby and Python......Page 53 2.4 Summary......Page 54 3 Using Apple’s Developer Tools......Page 56 3.2 Interface Builder......Page 57 3.3 XCode......Page 66 3.4 Objective-C......Page 72 3.5 Cocoa Conventions......Page 95 3.6 Summary......Page 103 II: The Cocoa Frameworks......Page 106 4.1 General Concepts......Page 108 4.3 Basic Data Types......Page 114 4.4 Collections......Page 122 4.5 Enumeration......Page 129 4.6 Property Lists......Page 140 4.7 Interacting with the Filesystem......Page 146 4.8 Notifications......Page 153 4.9 Summary......Page 161 5.1 Run Loops......Page 162 5.2 Applications and Delegates......Page 169 5.3 The Responder Chain......Page 171 5.4 Run Loops in Applications......Page 176 5.5 Delegates and Notifications......Page 180 5.6 The View Hierarchy......Page 183 5.7 Summary......Page 186 6.1 Positioning Views......Page 188 6.2 Nested Views......Page 193 6.3 Creating Views......Page 198 6.4 Cocoa Bindings......Page 213 6.5 Summary......Page 231 7 Windows and Menus......Page 232 7.1 Understanding Windows......Page 233 7.3 Creating Window Objects......Page 237 7.4 Panels......Page 248 7.5 Sheets......Page 252 7.6 Alert Dialogs......Page 258 7.7 Menus......Page 261 7.8 Summary......Page 272 8 Text in Cocoa......Page 274 8.1 Constructing and Deconstructing Strings......Page 275 8.2 Annotating Strings......Page 277 8.3 Localization......Page 279 8.4 Text Storage......Page 283 8.5 Understanding Fonts......Page 284 8.6 Displaying Text......Page 290 8.7 Writing a Custom Text Container......Page 304 8.8 Using Multiple Text Views......Page 308 8.9 Summary......Page 312 III: Cocoa Documents......Page 314 9 Creating Document-Driven Applications......Page 316 9.1 The Cocoa Document Model......Page 317 9.2 Creating the Application Skeleton......Page 322 9.3 Creating the Document......Page 324 9.4 Extending the Outliner......Page 330 9.5 Supporting Undo......Page 341 9.6 Adding Undo to the Outliner......Page 347 9.7 Summary......Page 357 10 Core Data......Page 358 10.1 Introducing Data Modeling......Page 359 10.2 Understanding Managed Objects......Page 360 10.3 Attribute Types......Page 361 10.4 Creating a Data Model......Page 363 10.5 Choosing a Persistent Store......Page 372 10.6 Storing Metadata......Page 374 10.7 Automatic Undo......Page 376 10.8 Core Data, Spotlight, and Time Machine......Page 377 10.9 Summary......Page 378 IV: Complex User Interfaces......Page 380 11 Working with Structured Data......Page 382 11.2 Tables......Page 383 11.3 Outline Views......Page 391 11.4 Browsers......Page 405 11.5 Collection Views......Page 409 11.6 Customizing Views with New Cells......Page 413 11.7 Creating Master-Detail Views......Page 416 11.8 Summary......Page 422 12.1 Tabbed Views......Page 424 12.2 Inspecting the View Hierarchy......Page 425 12.3 Modifying the View Hierarchy......Page 427 12.4 Creating Dynamic Input Forms......Page 441 12.5 Full-Screen Applications......Page 455 12.6 Summary......Page 458 V: Advanced Graphics......Page 460 13 Custom Views......Page 462 13.1 The Graphics Context......Page 463 13.2 Core Graphics......Page 464 13.3 AppKit Drawing......Page 467 13.4 Printing and Paginating Views......Page 499 13.5 Extending Interface Builder with Palettes......Page 511 13.6 Summary......Page 520 14.1 Beeping......Page 522 14.2 Playing Simple Sounds......Page 523 14.3 Understanding Cocoa Movie Objects......Page 527 14.4 Adding Video......Page 531 14.5 Editing Media......Page 535 14.6 Low-Level Sound APIs......Page 536 14.7 Sound and Video Recording......Page 537 14.8 Supporting Speech......Page 541 14.9 Cocoa Speech Synthesis......Page 542 14.10 Conversing with Users......Page 543 14.11 Summary......Page 548 15.1 Simple Animation......Page 550 15.2 Core Animation Overview......Page 552 15.3 Understanding Animation Concepts......Page 557 15.4 Adding Simple Animations......Page 560 15.5 Image Filters......Page 562 15.6 Defining Transitions......Page 569 15.7 Creating Complex Animations......Page 572 15.8 3D Core Animation Transforms......Page 573 15.9 OpenGL and Cocoa Views......Page 578 15.10 Quartz Composer......Page 581 15.11 Summary......Page 582 16 Supporting PDF and HTML......Page 584 16.1 HTML in AppKit......Page 585 16.2 Advanced HTML Support......Page 586 16.3 Dynamic Interfaces with WebKit......Page 594 16.4 PDF and Quartz......Page 601 16.5 Displaying PDFs......Page 603 16.6 Summary......Page 617 VI: User Interface Integration......Page 618 17 Searching and Filtering......Page 620 17.1 Maintaining Document Indexes......Page 621 17.2 Displaying Search Boxes......Page 626 17.3 Searching for Documents......Page 628 17.4 Spotlight......Page 639 17.5 Predicates......Page 652 17.6 Quick Look......Page 661 17.7 Summary......Page 665 18.1 Address Book Overview......Page 666 18.2 Getting Information About People......Page 671 18.3 Searching the Address Book......Page 672 18.4 Populating the “Me” vCard......Page 674 18.5 Adding People to the Address Book......Page 677 18.6 Storing Secrets......Page 678 18.7 Calendars......Page 688 18.8 Synchronizing Data......Page 695 18.9 Summary......Page 702 19.1 Pasteboard Overview......Page 704 19.2 Pasteboard Types......Page 706 19.3 Filtered Types......Page 709 19.4 Property List Data......Page 710 19.5 Self-Encoding Objects......Page 711 19.6 Files and Pasteboards......Page 712 19.7 Copy and Paste......Page 713 19.8 Drag and Drop......Page 715 19.9 Drag and Drop with Data Views......Page 726 19.10 Summary......Page 734 20.1 Example Services......Page 736 20.2 An Evaluate Service......Page 738 20.3 Using Services......Page 743 20.4 Controlling the Services Menu......Page 746 20.5 Filter Services......Page 747 20.6 Summary......Page 748 21.1 Scripting Overview......Page 750 21.2 Making Objects Scriptable......Page 754 21.3 Scripting from Cocoa......Page 769 21.4 Exposing Services to Automator......Page 776 21.5 Other Scripting Technologies......Page 777 21.6 Summary......Page 779 VII: System Programming......Page 780 22.1 Low-Level Socket Programming......Page 782 22.2 Cocoa Streams......Page 788 22.3 URL Handling......Page 789 22.4 Bonjour......Page 797 22.5 Distributed Objects......Page 802 22.6 Summary......Page 814 23 Concurrency......Page 816 23.1 Distributed Objects......Page 817 23.2 Threading......Page 818 23.3 Child Processes......Page 836 23.4 Operation Queues......Page 842 23.5 Grand Central Dispatch......Page 848 23.6 OpenCL......Page 850 23.7 Summary......Page 851 VIII: Appendixes......Page 852 24.1 NeXT and Sun......Page 854 24.3 OpenStep and GNU......Page 855 24.4 GNUstep......Page 856 24.5 QuantumSTEP......Page 862 24.7 GNUstepWeb and SOPE......Page 863 25 Advanced Tricks......Page 866 25.1 The Preprocessor......Page 867 25.2 Control Structures......Page 872 25.3 Clean Code......Page 880 25.4 Optimization......Page 884 25.5 Cross-Platform Cocoa......Page 898 25.6 The Runtime System......Page 901 B......Page 914 D......Page 915 F......Page 916 I......Page 917 M......Page 918 N......Page 919 P......Page 922 S......Page 923 V......Page 924 Z......Page 925 This book provides a great deal of information, but the delivery is directed towards an audience that has some xcode and cocoa 2.0 programming experience already. Having said that, the discussion of mac programming is very thorough with many examples given. The text is a bit dry at times with explanations of what things are rather than how to implement them into your own works. Overall, a good reference book for things you may want to explore that you haven't gotten around to yet.
دانلود کتاب Cocoa Programming Developer's Handbook