Synopses & Reviews
Get up to speed on Cocoa and Objective-C, and start developing applications on the iOS and OS X platforms. If you dont have experience with Apples developer tools, no problem! From object-oriented programming to storing app data in iCloud, this book covers everything you need to build apps for the iPhone, iPad, and Mac.
Youll learn how to work with the Xcode IDE, Objective-Cs Foundation library, and other developer tools such as Event Kit framework and Core Animation. Along the way, youll build example projects, including a simple Objective-C application, a custom view, a simple video player application, and an app that displays calendar events for the user.
- Learn the application life cycle on OS X and iOS
- Work with the user-interface system in Cocoa and Cocoa Touch
- Use AV Foundation to display video and audio
- Build apps that let users create, edit, and work with documents
- Store data locally with the file system, or on the network with iCloud
- Display lists or collections of data with table views and collection views
- Interact with the outside world with Core Location and Core Motion
- Use blocks and operation queues for multiprocessing
Get up to speed on Cocoa and Objective-C for developing Mac OS X, iPhone, iPad, and iPod touch applications. If you dont have experience developing on the Apple platform, no problem. This updated book covers everything you need to get started—from object-oriented programming to working with iCloud.
In addition to learning the basics of Cocoa and Objective-C, the two foundational technologies underlying Apples development platforms, youll also learn how to use Apples Xcode Integrated Development Environment (IDE). Each chapter presents a different sample program for you to build, with easy-to-follow, step-by-step instructions to teach you the fundamentals of Cocoa programming.
- Learn about technologies like blocks, properties and Automatic Reference Counting
- Discover the similarities and differences between Mac OS X and iOS
- Examine real-world applications of advanced Cocoa and Cocoa Touch features
About the Author
Paris Buttfield-Addison is a mobile app engineer, game designer and researcher with a passion for making technology simpler and as engaging as possible.
He has written two books on game development and currently spends his time designing mobile products for millions upon millions of users while drinking too much coffee.
Paris has coded for everything from Qt to 6502 assembly to iOS and thinks digital watches are a pretty neat idea. He claims he will soon have a PhD.
Jon Manning is the co-founder of Secret Lab, an independent game development studio based in Hobart, Tasmania, Australia. Hes worked on apps of all sorts, ranging from iPad games for children to instant messenging clients. Hes a Core Animation demigod, and frequently finds himself gesticulating wildly in front of classes full of eager-to-learn iOS developers. Jon is the worlds biggest Horse_ebooks fan (https://twitter.com/Horse_ebooks), and can be found on Twitter as @desplesda.
Table of Contents
Preface; Audience; Organization of This Book; Conventions Used in This Book; Using Code Examples; Safari® Books Online; How to Contact Us; Acknowledgments; Chapter 1: Cocoa Development Tools; 1.1 The Mac and iOS Developer Programs; 1.2 Getting Around in Xcode; 1.3 Developing a Simple Objective-C Application; 1.4 Using the iOS Simulator; Chapter 2: Object-Oriented Programming with Objective-C; 2.1 Object-Oriented Programming; 2.2 Memory Management; 2.3 The NSObject Life Cycle; Chapter 3: Foundation; 3.1 Mutable and Immutable Objects; 3.2 Strings; 3.3 Arrays; 3.4 Dictionaries; 3.5 NSValue and NSNumber; 3.6 Data; 3.7 Design Patterns in Cocoa; Chapter 4: Applications on OS X and iOS; 4.1 What Is an Application?; 4.2 The Application Lifecycle; 4.3 The Application Sandbox; Chapter 5: Graphical User Interfaces; 5.1 Interfaces in OS X and iOS; 5.2 MVC and Application Design; 5.3 Nib Files; 5.4 Constructing an Interface; 5.5 Building an App with Nibs and Constraints; 5.6 Core Animation; Chapter 6: Blocks and Operation Quotes; 6.1 Blocks; 6.2 Concurrency with Operation Queues; 6.3 Putting It All Together; Chapter 7: Drawing Graphics in Views; 7.1 How Drawing Works; 7.2 The Pixel Grid; 7.3 Drawing in Views; 7.4 Building a Custom View; Chapter 8: Audio and Video; 8.1 AV Foundation; 8.2 Playing Video with AVPlayer; 8.3 Playing Sound with AVAudioPlayer; 8.4 Working with the Photo Library; Chapter 9: Model Objects and Data Storage; 9.1 Key-Value Coding; 9.2 Key-Value Observing; 9.3 Notifications with NSNotification; 9.4 Preferences; 9.5 Working with the Filesystem; 9.6 Working with the Sandbox; Chapter 10: Cocoa Bindings; 10.1 Binding Views to Models; 10.2 A Single Bindings App; 10.3 Binding to Controllers; 10.4 Array and Object Controllers; 10.5 A More Complex Bindings App; Chapter 11: Table Views and Collection Views; 11.1 Data Sources and Delegates; 11.2 Table Views; 11.3 UITableView on iOS; 11.4 NSTableView on OS X; 11.5 Collection Views; Chapter 12: Document-Based Applications; 12.1 The NSDocument and UIDocument Classes; 12.2 Document Objects in MVC; 12.3 Kinds of Documents; 12.4 The Role of Documents; 12.5 Document-Based Applications on OS X; 12.6 Document-Based Applications on iOS; Chapter 13: Networking; 13.1 Connections; 13.2 Building a Networked Application; 13.3 Discovering Nearby Services; Chapter 14: Working with the Real World; 14.1 Working with Location; 14.2 Geocoding; 14.3 Locations and Privacy; 14.4 Device Motion; 14.5 Printing Documents; Chapter 15: Event Kit; 15.1 Understanding Events; 15.2 Working with Events; 15.3 Building an Events Application; 15.4 User Privacy; Chapter 16: Instruments and the Debugger; 16.1 Getting Started with Instruments; 16.2 Fixing Problems with Instruments; 16.3 Retain Cycles and Leaks; 16.4 Using the Debugger; Chapter 17: Sharing and Notifications; 17.1 Sharing; 17.2 Notifications; Chapter 18: Nonstandard Apps; 18.1 Command-Line Tools; 18.2 Preference Panes; 18.3 Status Bar Items; Chapter 19: Working with Text; 19.1 Internationalization and Localization; 19.2 Formatting Data with NSFormatter; 19.3 Detecting Data with NSDataDetector; Chapter 20: iCloud; 20.1 What iCloud Stores; 20.2 Setting Up for iCloud; 20.3 Testing Whether iCloud Works; 20.4 Storing Settings; 20.5 iCloud Storage; Colophon;