
the books would have the same title, distinguished as Volume I and Volume II, with
successive numbering of pages and chapters: if Volume I ended, say, with Chapter 13
and page 400, then Volume II would start with Chapter 14 and page 401. To this de‐
lightfully Victorian extreme, I’m sorry to say, O’Reilly Media were implacably opposed.
Thus, Programming iOS 7, though it starts with its own Chapter 1 and page 1, never‐
theless still picks up exactly where iOS 7 Programming Fundamentals leaves off. They
complement and supplement one another. Those who desire a complete grounding in
the knowledge needed to begin writing iOS apps with a solid and rigorous understand‐
ing of what they are doing and where they are heading will, I hope, obtain both books.
At the same time, the two-book architecture should, I believe, render the size and scope
of each book individually more acceptable and attractive to more readers.
Those who feel that they know already all there is to know about C, Objective-C, Xcode,
and the linguistic and architectural basis of the Cocoa framework, or who are content
to pick up such underpinnings as they go along, need no longer (as some in the past
have done) complain that the book is occupied with 13 preliminary chapters before the
reader starts really writing any significant iOS code, because those 13 chapters have now
been abstracted into a separate volume, iOS 7 Programming Fundamentals, and this
book, Programming iOS 7, now begins, like Homer’s Iliad, in the middle of the story,
with the reader jumping with all four feet into views and view controllers, and with a
knowledge of the language and the Xcode IDE already presupposed. And if such a reader
subsequently changes his or her mind and decides that a thorough grounding in those
underpinnings might in fact be desirable, iOS 7 Programming Fundamentals will still
be available and awaiting study.
Moreover, the existence of iOS 7 Programming Fundamentals means that I, as author
and teacher, can make the same assumption in this edition about you, as reader and
student, that I made in previous editions — namely, that you have a command of the
material in that book. If you find yourself mystified by terminology or concepts used in
this book, then it might be wise to stop reading it and take up iOS 7 Programming
Fundamentals first! In it, I explain such things as:
• The Objective-C language, starting with C and building up to the object-oriented
concepts and mechanics of classes and instances in Objective-C itself.
• Xcode, the world in which all iOS programming ultimately takes place, including
what an Xcode project is and how it is transformed into an app, and how to work
comfortably and nimbly with Xcode to consult the documentation and to write,
navigate, and debug code, as well as how to bring your app through the subsequent
stages of running on a device and submission to the App Store. There is also a very
important chapter on nibs and the nib editor (Interface Builder), including outlets
and actions as well as the mechanics of nib loading. (However, some additional
important nib-related topics, such as autolayout constraints and storyboard segues,
are discussed in this book.)
xvi | Preface