Synopses & Reviews
If youre 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. Youll learn object-oriented concepts, understand how to use Apples 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, youll be ready to tackle the details of iOS app development with author Matt Neuburgs companion guide Programming iOS 7.
- Explore the C language to learn how Objective-C works
- Learn how instances are created, and why theyre 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 Cocoas use of Objective-C linguistic features
- Use Cocoas 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
Neuberg kept his Programming iOS current with new versions from 2011to 2013, but for version 7, has separated the fundamentals, chapters 1-13, into this beginning guide, and left the more advanced materialwith the original title. Covering language, IDE, and Cocoa, he discusses such topics as just enough C, object-based programming,objective-C objects and messages, objective-C classes, anatomy of an Xcode projects, Nib management, documentation, life cycle of aproject, Cocoa events, accessors and memory management, and communication between objects.Annotation ©2014 Ringgold, Inc., Portland, OR (protoview.com)
If a you want to make an app that is optimized and uses all of the power in yours hands then you need to understand the underlying fundamentals of its language, framework, and developing environment. This book covers Xcode, Cocoa, and objective-c completely allowing a developer to create the best version of her app.
The author backs up the conversation to the C programming language and object-oriented programming so that you can really understand why and how objective-c does its job. Next in line is Xcode which is significantly updated in its 5th version, the author talks about the interface, documentation, and lifecycle of a project. Finally, the book closes out with a look at Cocoa, Apple's framework for creating apps. The reader will come to understand the idiosyncrasies of the framework allows for clean, optimized programs.
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, youll 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
About the Author
Matt Neuburg started programming computers in 1968, when he was 14 years old, as a member of a literally underground high school club, which met once a week to do timesharing on a bank of PDP-10s by way of primitive teletype machines. He also occasionally used Princeton University's IBM-360/67, but gave it up in frustration when one day he dropped his punch cards. He majored in Greek at Swarthmore College, and received his Ph.D. from Cornell University in 1981, writing his doctoral dissertation (about Aeschylus) on a mainframe. He proceeded to teach Classical languages, literature, and culture at many well-known institutions of higher learning, most of which now disavow knowledge of his existence, and to publish numerous scholarly articles unlikely to interest anyone. Meanwhile he obtained an Apple IIc and became hopelessly hooked on computers again, migrating to a Macintosh in 1990. He wrote some educational and utility freeware, became an early regular contributor to the online journal TidBITS, and in 1995 left academe to edit MacTech Magazine. He is also the author of Frontier: The Definitive Guide and REALbasic: The Definitive Guide. In August 1996 he became a freelancer, which means he has been looking for work ever since. He is the author of Frontier: The Definitive Guide and REALbasic: The Definitive Guide, both for O'Reilly & Associates.
Table of Contents
Preface; 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;