Table Of ContentPreface; Versions; Acknowledgments; From the Programming iOS 4 Preface; Conventions Used in This Book; Using Code Examples; Safari® Books Online; How to Contact Us;Language; Chapter 1: Just Enough C; 1.1 Compilation, Statements, and Comments; 1.2 Variable Declaration, Initialization, and Data Types; 1.3 Structs; 1.4 Pointers; 1.5 Arrays; 1.6 Operators; 1.7 Flow Control and Conditions; 1.8 Functions; 1.9 Pointer Parameters and the Address Operator; 1.10 Files; 1.11 The Standard Library; 1.12 More Preprocessor Directives; 1.13 Data Type Qualifiers; Chapter 2: Object-Based Programming; 2.1 Objects; 2.2 Messages and Methods; 2.3 Classes and Instances; 2.4 Class Methods; 2.5 Instance Variables; 2.6 The Object-Based Philosophy; Chapter 3: Objective-C Objects and Messages; 3.1 An Object Reference Is a Pointer; 3.2 Methods and Messages; 3.3 When Message Sending Goes Wrong; 3.4 Typecasting and the id Type; 3.5 Messages as Data Type; 3.6 C Functions; 3.7 CFTypeRefs; 3.8 Blocks; Chapter 4: Objective-C Classes; 4.1 Subclass and Superclass; 4.2 Interface and Implementation; 4.3 Header File and Implementation File; 4.4 Class Methods; 4.5 The Secret Life of Classes; Chapter 5: Objective-C Instances; 5.1 How Instances Are Created; 5.2 Polymorphism; 5.3 The Keyword self; 5.4 The Keyword super; 5.5 Instance Variables and Accessors; 5.6 Key-Value Coding; 5.7 Properties; 5.8 How to Write an Initializer; 5.9 Referring to Instances;IDE; Chapter 6: Anatomy of an Xcode Project; 6.1 New Project; 6.2 The Project Window; 6.3 The Project File and Its Dependents; 6.4 The Target; 6.5 From Project to Running App; Chapter 7: Nib Management; 7.1 A Tour of the Nib Editor Interface; 7.2 Nib Loading; 7.3 Outlets and the Nib Owner; 7.4 Action Connections; 7.5 Additional Initialization of Nib-Based Instances; Chapter 8: Documentation; 8.1 The Documentation Window; 8.2 Class Documentation Pages; 8.3 Sample Code; 8.4 Other Resources; Chapter 9: Life Cycle of a Project; 9.1 Device Architecture and Conditional Code; 9.2 Version Control; 9.3 Editing Your Code; 9.4 Navigating Your Code; 9.5 Running in the Simulator; 9.6 Debugging; 9.7 Unit Testing; 9.8 Static Analyzer; 9.9 Clean; 9.10 Running on a Device; 9.11 Gauges and Instruments; 9.12 Localization; 9.13 Archiving and Distribution; 9.14 Ad Hoc Distribution; 9.15 Final App Preparations; 9.16 Submission to the App Store;Cocoa; Chapter 10: Cocoa Classes; 10.1 Subclassing; 10.2 Categories; 10.3 Protocols; 10.4 Some Foundation Classes; 10.5 The Secret Life of NSObject; Chapter 11: Cocoa Events; 11.1 Reasons for Events; 11.2 Subclassing; 11.3 Notifications; 11.4 Delegation; 11.5 Data Sources; 11.6 Actions; 11.7 The Responder Chain; 11.8 Swamped by Events; 11.9 Delayed Performance; Chapter 12: Accessors and Memory Management; 12.1 Accessors; 12.2 Key-Value Coding; 12.3 Memory Management; 12.4 Properties; Chapter 13: Communication Between Objects; 13.1 Visibility by Instantiation; 13.2 Visibility by Relationship; 13.3 Global Visibility; 13.4 Notifications; 13.5 Key-Value Observing; 13.6 Model-View-Controller;Index;Colophon;
SynopsisIf you're getting started with iOS development, or want a firmer grasp of the basics, this practical guide provides a clear view of its fundamental building blocks--Objective-C, Xcode, and Cocoa Touch. You'll learn object-oriented concepts, understand how to use Apple's development tools, and discover how Cocoa provides the underlying functionality iOS apps need to have. Dozens of example projects are available at GitHub. Once you master the fundamentals, you'll be ready to tackle the details of iOS app development with author Matt Neuburg's companion guide Programming iOS 7 . Explore the C language to learn how Objective-C works Learn how instances are created, and why they're so important Tour the lifecycle of an Xcode project, from inception to App Store Discover how to build interfaces with nibs and the nib editor Explore Cocoa's use of Objective-C linguistic features Use Cocoa's event-driven model and major design patterns Learn the role of accessors, key-value coding, and properties Understand the power of ARC-based object memory management Send messages and data between Cocoa objects, If you want to build an app optimized for iPhone or iPad, you need a thorough understanding of the Objective-C language, the Cocoa API, and the Xcode development environment. This practical guide walks you through the fundamentals of these iOS building blocks, complete with easy-to-follow code examples. By learning how to navigate the idiosyncracies of this framework, you'll be able to create a clean, fundamentally sound iOS app. Understand why and how Objective-C works by looking at the C language and object-oriented programming in general Dive into Xcode and learn about the interface, documentation, and the lifecycle of a project Explore the Cocoa framework and its pecularities for developing optimized iOS applications, If you want to build an app optimized for iPhone or iPad, you need a thorough understanding of the Objective-C language, the Cocoa API, and the Xcode development environment. This practical guide walks you through the fundamentals of these iOS building blocks, complete with easy-to-follow code examples.