Programming iOS 5: Fundamentals of iPhone, iPad, and iPod touch Development

( 2 )


Get a solid grounding in the fundamentals of Cocoa Touch, and avoid problems during iPhone and iPad app development. With this revised and expanded edition, you’ll dig into Cocoa and learn how to work effectively with Objective-C and Xcode. This book covers iOS 5 and Xcode 4.3 in a rigorous, orderly fashion—ideal whether you’re approaching iOS for the first time or need a reference to bolster existing skills.

Many discussions have been expanded...

See more details below
Paperback (Second Edition)
$31.16 price
(Save 37%)$49.99 List Price

Pick Up In Store

Reserve and pick up in 60 minutes at your local store

Other sellers (Paperback)
  • All (29) from $1.99   
  • New (6) from $2.99   
  • Used (23) from $1.99   
Sending request ...


Get a solid grounding in the fundamentals of Cocoa Touch, and avoid problems during iPhone and iPad app development. With this revised and expanded edition, you’ll dig into Cocoa and learn how to work effectively with Objective-C and Xcode. This book covers iOS 5 and Xcode 4.3 in a rigorous, orderly fashion—ideal whether you’re approaching iOS for the first time or need a reference to bolster existing skills.

Many discussions have been expanded or improved. All code examples have been revised, and many new code examples have been added.

  • The new memory management system—ARC—is thoroughly explained and all code examples have been revised to use it.
  • New Objective-C features, such as declaration of instance variables in the class’s implementation section, are described and incorporated into the revised example code.
  • Discussion of how an app launches, and all code examples, are revised for project templates from Xcode 4.2 and later.
  • Other new Xcode features, including the Simulator’s Debug menu, are covered, with screen shots based on Xcode 4.2 and later.
  • The discussion of Instruments is expanded, with screen shots—by popular request!
  • Storyboards are explained and discussed.
  • The explanation of view controllers is completely rewritten to include iOS 5 features, such as custom parent view controllers and UIPageViewController.
  • The Controls chapter now includes iOS 5 interface customizability and the appearance proxy.
  • New features of interface classes are discussed, including tiling and animated images, new table view features, new alert view styles.
  • Coverage of frameworks such as Core Motion and AV Foundation is greatly expanded. New iOS 5 classes and frameworks are also discussed, including Core Image and UIDocument (and iCloud support).
  • Important iOS 5 changes that can break existing code are explicitly called out in the text and listed in the index.
Read More Show Less

Product Details

  • ISBN-13: 9781449319342
  • Publisher: O'Reilly Media, Incorporated
  • Publication date: 3/29/2012
  • Edition description: Second Edition
  • Edition number: 2
  • Pages: 983
  • Product dimensions: 7.00 (w) x 9.20 (h) x 1.90 (d)

Meet the Author

Matt Neuburg has a PhD in Classics and has taught at many universities and colleges. He has been programming computers since 1968. He has written applications for Mac OS X and iOS, is a former editor of MacTech Magazine, and is a long-standing contributing editor for TidBITS. His previous O'Reilly books are Frontier: The Definitive Guide, REALbasic: The Definitive Guide, and AppleScript: The Definitive Guide. He makes a living writing books, articles, and software documentation, as well as by programming, consulting, and training.

Read More Show Less

Table of Contents

Conventions Used in This Book;
Using Code Examples;
Safari® Books Online;
How to Contact Us;
Acknowledgments for the First Edition;
Notes on the Second Printing;
Acknowledgments for the Second Edition;
Notes on the Second Edition;
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 Instance Reference Is a Pointer;
3.2 Messages and Methods;
3.3 Typecasting and the id Type;
3.4 Messages as Data Type;
3.5 C Functions;
3.6 CFTypeRefs;
3.7 Blocks;
Chapter 4: Objective-C Classes;
4.1 Class 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;
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 App;
Chapter 7: Nib Management;
7.1 A Tour of the Nib-Editing Interface;
7.2 Nib Loading and File’s Owner;
7.3 Making and Loading a Nib;
7.4 Outlet Connections;
7.5 Action Connections;
7.6 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 Choosing a Device Architecture;
9.2 Localization;
9.3 Editing Your Code;
9.4 Navigating Your Code;
9.5 Debugging;
9.6 Unit Testing;
9.7 Static Analyzer;
9.8 Clean;
9.9 Running in the Simulator;
9.10 Running on a Device;
9.11 Device Management;
9.12 Version Control;
9.13 Instruments;
9.14 Distribution;
9.15 Ad Hoc Distribution;
9.16 Final App Preparations;
9.17 Submission to the App Store;
Chapter 10: Cocoa Classes;
10.1 Subclassing;
10.2 Categories;
10.3 Protocols;
10.4 Optional Methods;
10.5 Some Foundation Classes;
10.6 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 Application Lifetime Events;
11.9 Swamped by Events;
Chapter 12: Accessors and Memory Management;
12.1 Accessors;
12.2 Key–Value Coding;
12.3 Memory Management;
12.4 Properties;
Chapter 13: Data Communication;
13.1 Model–View–Controller;
13.2 Instance Visibility;
13.3 Notifications;
13.4 Key–Value Observing;
Chapter 14: Views;
14.1 The Window;
14.2 Subview and Superview;
14.3 Frame;
14.4 Bounds and Center;
14.5 Layout;
14.6 Transform;
14.7 Visibility and Opacity;
Chapter 15: Drawing;
15.1 UIImage and UIImageView;
15.2 Graphics Contexts;
15.3 UIImage Drawing;
15.4 CGImage Drawing;
15.5 CIFilter and CIImage;
15.6 Drawing a UIView;
15.7 Graphics Context Settings;
15.8 Paths and Drawing;
15.9 Clipping;
15.10 Gradients;
15.11 Colors and Patterns;
15.12 Graphics Context Transforms;
15.13 Shadows;
15.14 Points and Pixels;
15.15 Content Mode;
Chapter 16: Layers;
16.1 View and Layer;
16.2 Layers and Sublayers;
16.3 Drawing in a Layer;
16.4 Transforms;
16.5 Shadows, Borders, and More;
16.6 Layers and Key–Value Coding;
Chapter 17: Animation;
17.1 Drawing, Animation, and Threading;
17.2 UIImageView and UIImage Animation;
17.3 View Animation;
17.4 Implicit Layer Animation;
17.5 Core Animation;
17.6 Actions;
17.7 Emitter Layers;
Chapter 18: Touches;
18.1 Touch Events and Views;
18.2 Receiving Touches;
18.3 Restricting Touches;
18.4 Interpreting Touches;
18.5 Gesture Recognizers;
18.6 Touch Delivery;
Chapter 19: View Controllers;
19.1 The View Controller Hierarchy;
19.2 View Controller and View Creation;
19.3 Rotation;
19.4 Presented View Controller;
19.5 Tab Bar Controllers;
19.6 Navigation Controllers;
19.7 Page View Controller;
19.8 Container View Controllers;
19.9 Storyboards;
19.10 View Controller Lifetime Events;
19.11 View Controller Memory Management;
Chapter 20: Scroll Views;
20.1 Creating a Scroll View;
20.2 Scrolling;
20.3 Zooming;
20.4 Scroll View Delegate;
20.5 Scroll View Touches;
20.6 Scroll View Performance;
Chapter 21: Table Views;
21.1 Table View Cells;
21.2 Table View Data;
21.3 Table View Selection;
21.4 Table View Scrolling and Layout;
21.5 Table View Searching;
21.6 Table View Editing;
21.7 Table View Menus;
Chapter 22: Popovers and Split Views;
22.1 Configuring and Displaying a Popover;
22.2 Managing a Popover;
22.3 Dismissing a Popover;
22.4 Popover Segues;
22.5 Automatic Popovers;
22.6 Split Views;
Chapter 23: Text;
23.1 UILabel;
23.2 UITextField;
23.3 UITextView;
23.4 Core Text;
Chapter 24: Web Views;
24.1 Loading Content;
24.2 Communicating with a Web View;
Chapter 25: Controls and Other Views;
25.1 UIActivityIndicatorView;
25.2 UIProgressView;
25.3 UIPickerView;
25.4 UISearchBar;
25.5 UIControl;
25.6 Bars;
25.7 Appearance Proxy;
Chapter 26: Modal Dialogs;
26.1 Alert View;
26.2 Action Sheet;
26.3 Dialog Alternatives;
26.4 Local Notifications;
Some Frameworks;
Chapter 27: Audio;
27.1 System Sounds;
27.2 Audio Session;
27.3 Audio Player;
27.4 Remote Control of Your Sound;
27.5 Playing Sound in the Background;
27.6 Further Topics in Sound;
Chapter 28: Video;
28.1 MPMoviePlayerController;
28.2 MPMoviePlayerViewController;
28.3 UIVideoEditorController;
28.4 An Introduction to AV Foundation Video;
Chapter 29: Music Library;
29.1 Exploring the Music Library;
29.2 The Music Player;
29.3 The Music Picker;
Chapter 30: Photo Library and Image Capture;
30.1 UIImagePickerController;
30.2 Image Capture With AV Foundation;
30.3 The Assets Library Framework;
Chapter 31: Address Book;
31.1 Address Book Database;
31.2 Address Book Interface;
Chapter 32: Calendar;
32.1 Calendar Database;
32.2 Calendar Interface;
Chapter 33: Mail;
33.1 Mail Message;
33.2 SMS Message;
Chapter 34: Maps;
34.1 Displaying a Map;
34.2 Annotations;
34.3 Overlays;
Chapter 35: Sensors;
35.1 Location;
35.2 Heading;
35.3 Acceleration and Attitude;
Final Topics;
Chapter 36: Persistent Storage;
36.1 The Sandbox;
36.2 Basic File Operations;
36.3 Saving and Reading Files;
36.4 User Defaults;
36.5 File Sharing;
36.6 Document Types;
36.7 Handing Off a Document;
36.8 The Document Architecture;
36.9 XML;
36.10 SQLite;
36.11 Image File Formats;
Chapter 37: Basic Networking;
37.1 HTTP Requests;
37.2 Bonjour;
37.3 Push Notifications;
37.4 Beyond Basic Networking;
Chapter 38: Threads;
38.1 The Main Thread;
38.2 Why Threading Is Hard;
38.3 Three Ways of Threading;
38.4 Threads and App Backgrounding;
Chapter 39: Undo;
39.1 The Undo Manager;
39.2 The Undo Interface;
39.3 The Undo Architecture;
Chapter 40: Epilogue;

Read More Show Less

Customer Reviews

Average Rating 5
( 2 )
Rating Distribution

5 Star


4 Star


3 Star


2 Star


1 Star


Your Rating:

Your Name: Create a Pen Name or

Barnes & Review Rules

Our reader reviews allow you to share your comments on titles you liked, or didn't, with others. By submitting an online review, you are representing to Barnes & that all information contained in your review is original and accurate in all respects, and that the submission of such content by you and the posting of such content by Barnes & does not and will not violate the rights of any third party. Please follow the rules below to help ensure that your review can be posted.

Reviews by Our Customers Under the Age of 13

We highly value and respect everyone's opinion concerning the titles we offer. However, we cannot allow persons under the age of 13 to have accounts at or to post customer reviews. Please see our Terms of Use for more details.

What to exclude from your review:

Please do not write about reviews, commentary, or information posted on the product page. If you see any errors in the information on the product page, please send us an email.

Reviews should not contain any of the following:

  • - HTML tags, profanity, obscenities, vulgarities, or comments that defame anyone
  • - Time-sensitive information such as tour dates, signings, lectures, etc.
  • - Single-word reviews. Other people will read your review to discover why you liked or didn't like the title. Be descriptive.
  • - Comments focusing on the author or that may ruin the ending for others
  • - Phone numbers, addresses, URLs
  • - Pricing and availability information or alternative ordering information
  • - Advertisements or commercial solicitation


  • - By submitting a review, you grant to Barnes & and its sublicensees the royalty-free, perpetual, irrevocable right and license to use the review in accordance with the Barnes & Terms of Use.
  • - Barnes & reserves the right not to post any review -- particularly those that do not follow the terms and conditions of these Rules. Barnes & also reserves the right to remove any review at any time without notice.
  • - See Terms of Use for other conditions and disclaimers.
Search for Products You'd Like to Recommend

Recommend other products that relate to your review. Just search for them below and share!

Create a Pen Name

Your Pen Name is your unique identity on It will appear on the reviews you write and other website activities. Your Pen Name cannot be edited, changed or deleted once submitted.

Your Pen Name can be any combination of alphanumeric characters (plus - and _), and must be at least two characters long.

Continue Anonymously
Sort by: Showing all of 2 Customer Reviews
  • Anonymous

    Posted June 1, 2013



    0 out of 1 people found this review helpful.

    Was this review helpful? Yes  No   Report this review
  • Anonymous

    Posted May 25, 2013


    "Jumps in and throws my ninja stars at the trunks"

    0 out of 1 people found this review helpful.

    Was this review helpful? Yes  No   Report this review
Sort by: Showing all of 2 Customer Reviews

If you find inappropriate content, please report it to Barnes & Noble
Why is this product inappropriate?
Comments (optional)