Preface; Audience; Organization of This Book; Additional Resources; Conventions Used in This Book; Using Code Examples; We''d Like to Hear from You; SafariĀ® Books Online; Acknowledgments;Chapter 1: The Basics; 1.1 Introduction; 1.2 Creating a Simple iOS App in Xcode; 1.3 Understanding Interface Builder; 1.4 Compiling iOS Apps; 1.5 Running iOS Apps on the Simulator; 1.6 Running iOS Apps on iOS Devices; 1.7 Packaging iOS Apps for Distribution; 1.
8 Declaring Variables in Objective-C; 1.9 Allocating and Making Use of Strings; 1.10 Comparing Values in Objective-C with an if Statement; 1.11 Implementing Loops with for Statements; 1.12 Implementing while Loops; 1.13 Creating Custom Classes; 1.14 Defining Functionality for Classes; 1.15 Defining Two or More Methods with the Same Name; 1.
16 Allocating and Initializing Objects; 1.17 Adding Properties to Classes; 1.18 Moving from Manual Reference Counting to Automatic Reference Counting; 1.19 Typecasting with Automatic Reference Counting; 1.20 Delegating Tasks with Protocols; 1.21 Determining Whether Instance or Class Methods Are Available; 1.22 Determining Whether a Class Is Available at Runtime; 1.23 Allocating and Making Use of Numbers; 1.
24 Allocating and Making Use of Arrays; 1.25 Allocating and Making Use of Dictionaries; 1.26 Allocating and Making Use of Sets; 1.27 Creating Bundles; 1.28 Loading Data from the Main Bundle; 1.29 Loading Data from Other Bundles; 1.30 Sending Notifications with NSNotificationCenter; 1.31 Listening for Notifications Sent from NSNotificationCenter;Chapter 2: Implementing Controllers and Views; 2.
1 Introduction; 2.2 Displaying Alerts with UIAlertView; 2.3 Creating and Using Switches with UISwitch; 2.4 Customizing the UISwitch; 2.5 Picking Values with UIPickerView; 2.6 Picking the Date and Time with UIDatePicker; 2.7 Implementing Range Pickers with UISlider; 2.8 Customizing the UISlider; 2.
9 Grouping Compact Options with UISegmentedControl; 2.10 Customizing the UISegmentedControl; 2.11 Presenting and Managing Views with UIViewController; 2.12 Presenting Sharing Options with UIActivityViewController; 2.13 Implementing Navigation with UINavigationController; 2.14 Manipulating a Navigation Controller''s Array of View Controllers; 2.15 Displaying an Image on a Navigation Bar; 2.16 Adding Buttons to Navigation Bars Using UIBarButtonItem; 2.
17 Presenting Multiple View Controllers with UITabBarController; 2.18 Displaying Static Text with UILabel; 2.19 Customizing the UILabel; 2.20 Accepting User Text Input with UITextField; 2.21 Displaying Long Lines of Text with UITextView; 2.22 Adding Buttons to the User Interface with UIButton; 2.23 Displaying Images with UIImageView; 2.24 Creating Scrollable Content with UIScrollView; 2.
25 Loading Web Pages with UIWebView; 2.26 Presenting Master-Detail Views with UISplitViewController; 2.27 Enabling Paging with UIPageViewController; 2.28 Displaying Popovers with UIPopoverController; 2.29 Displaying Progress with UIProgressView; 2.30 Listening and Reacting to Keyboard Notifications; 2.31 Constructing and Displaying Styled Texts;Chapter 3: Auto Layout and the Visual Format Language; 3.1 Introduction; 3.
2 Placing UI Components in the Center of the Screen; 3.3 Defining Horizontal and Vertical Constraints with the Visual Format Language; 3.4 Utilizing Cross View Constraints; 3.5 Configuring Auto Layout Constraints in Interface Builder;Chapter 4: Constructing and Using Table Views; 4.1 Introduction; 4.2 Instantiating a Table View; 4.3 Assigning a Delegate to a Table View; 4.4 Populating a Table View with Data; 4.
5 Receiving and Handling Table View Events; 4.6 Using Different Types of Accessories in a Table View Cell; 4.7 Creating Custom Table View Cell Accessories; 4.8 Displaying Hierarchical Data in Table Views; 4.9 Enabling Swipe Deletion of Table View Cells; 4.10 Constructing Headers and Footers in Table Views; 4.11 Displaying Context Menus on Table View Cells; 4.12 Moving Cells and Sections in Table Views; 4.
13 Deleting Cells and Sections from Table Views; 4.14 Utilizing the UITableViewController for Easy Creation of Table Views; 4.15 Displaying a Refresh Control for Table Views;Chapter 5: Storyboards; 5.1 Introduction; 5.2 Creating a Project with Storyboards; 5.3 Adding a Navigation Controller to a Storyboard; 5.4 Passing Data From One Screen to Another; 5.5 Adding a Storyboard to an Existing Project;Chapter 6: Concurrency; 6.
1 Introduction; 6.2 Constructing Block Objects; 6.3 Accessing Variables in Block Objects; 6.4 Invoking Block Objects; 6.5 Dispatching Tasks to Grand Central Dispatch; 6.6 Performing UI-Related Tasks with GCD; 6.7 Executing Non-UI Related Tasks Synchronously with GCD; 6.8 Executing Non-UI Related Tasks Asynchronously with GCD; 6.
9 Performing Tasks After a Delay with GCD; 6.10 Performing a Task Only Once with GCD; 6.11 Grouping Tasks Together with GCD; 6.12 Constructing Your Own Dispatch Queues with GCD; 6.13 Running Tasks Synchronously with Operations; 6.14 Running Tasks Asynchronously with Operations; 6.15 Creating Dependency Between Operations; 6.16 Creating Timers; 6.
17 Creating Concurrency with Threads; 6.18 Invoking Background Methods; 6.19 Exiting Threads and Timers;Chapter 7: Core Location and Maps; 7.1 Introduction; 7.2 Creating a Map View; 7.3 Handling the Events of a Map View; 7.4 Pinpointing the Location of a Device; 7.5 Displaying Pins on a Map View; 7.
6 Displaying Pins with Different Colors on a Map View; 7.7 Displaying Custom Pins on a Map View; 7.8 Converting Meaningful Addresses to Longitude and Latitude; 7.9 Converting Longitude and Latitude to a Meaningful Address;Chapter 8: Implementing Gesture Recognizers; 8.1 Introduction; 8.2 Detecting Swipe Gestures; 8.3 Detecting Rotation Gestures; 8.4 Detecting Panning and Dragging Gestures; 8.
5 Detecting Long Press Gestures; 8.6 Detecting Tap Gestures; 8.7 Detecting Pinch Gestures;Chapter 9: Networking, JSON, XML, and Twitter; 9.1 Introduction; 9.2 Downloading Asynchronously with NSURLConnection; 9.3 Handling Timeouts in Asynchronous Connections; 9.4 Downloading Synchronously with NSURLConnection; 9.5 Modifying a URL Request with NSMutableURLRequest; 9.
6 Sending HTTP GET Requests with NSURLConnection; 9.7 Sending HTTP POST Requests with NSURLConnection; 9.8 Sending HTTP DELETE Requests with NSURLConnection; 9.9 Sending HTTP PUT Requests with NSURLConnection; 9.10 Serializing Arrays and Dictionaries into JSON; 9.11 Deserializing JSON into Arrays and Dictionaries; 9.12 Integrating Twitter Functionality into Your Apps; 9.13 Parsing XML with NSXMLParser;Chapter 10: Audio and Video; 10.
1 Introduction; 10.2 Playing Audio Files; 10.3 Handling Interruptions while Playing Audio; 10.4 Recording Audio; 10.5 Handling Interruptions while Recording Audio; 10.6 Playing Audio over Other Active Sounds; 10.7 Playing Video Files; 10.8 Capturing Thumbnails from a Video File; 10.
9 Accessing the Music Library;Chapter 11: Address Book; 11.1 Introduction; 11.2 Requesting Access to the Address Book; 11.3 Retrieving a Reference to an Address Book; 11.4 Retrieving All the People in the Address Book; 11.5 Retrieving Properties of Address Book Entries; 11.6 Inserting a Person Entry into the Address Book; 11.7 Inserting a Group Entry into the Address Book; 11.
8 Adding Persons to Groups; 11.9 Searching the Address Book; 11.10 Retrieving and Setting a Person''s Address Book Image;Chapter 12: Files and Folder Management; 12.1 Introduction; 12.2 Finding the Paths of the Most Useful Folders on Disk; 12.3 Writing to and Reading from Files; 12.4 Creating Folders on Disk; 12.5 Enumerating Files and Folders; 12.
6 Deleting Files and Folders; 12.7 Securing Files on Disk; 12.8 Saving Objects to Files;Chapter 13: Camera and the Photo Library; 13.1 Introduction; 13.2 Detecting and Probing the Camera; 13.3 Taking Photos with the Camera; 13.4 Taking Videos with the Camera; 13.5 Storing Photos in the Photo Library; 13.
6 Storing Videos in the Photo Library; 13.7 Retrieving Photos and Videos from the Photo Library; 13.8 Retrieving Assets from the Assets Library; 13.9 Editing Videos on an iOS Device;Chapter 14: Multitasking; 14.1 Introduction; 14.2 Detecting the Availability of Multitasking; 14.3 Completing a Long-Running Task in the Background; 14.4 Receiving Local Notifications in the Background; 14.
5 Playing Audio in the Background; 14.6 Handling Location Changes in the Background; 14.7 Saving and Loading the State of Multitasking iOS Apps; 14.8 Handling Network Connections in the Background; 14.9 Handling Notifications Delivered to a Waking App; 14.10 Responding to Changes in App Settings; 14.11 Opting Out of Multitasking;Chapter 15: Core Data; 15.1 Introduction; 15.
2 Creating a Core Data Model with Xcode; 15.3 Generating Class Files for Core Data Entities; 15.4 Creating and Saving Data Using Core Data; 15.5 Reading Data from Core Data; 15.6 Deleting Data from Core Data; 15.7 Sorting Data in Core Data; 15.8 Boosting Data Access in Table Views; 15.9 Implementing Relationships in Core Data;Chapter 16: Dates, Calendars, and Events; 16.
1 Introduction; 16.2 Retrieving the List of Calendars; 16.3 Adding Events to Calendars; 16.4 Accessing the Contents of Calendars; 16.5 Removing Events from Calendars; 16.6 Adding Recurring Events to Calendars; 16.7 Retrieving the Attendees of an Event; 16.8 Adding Alarms to Calendars; 16.
9 Handling Event Changed Notifications; 16.10 Presenting Event View Controllers; 16.11 Presenting Event Edit View Controllers;Chapter 17: Graphics and Animations; 17.1 Introduction; 17.2 Enumerating and Loading Fonts; 17.3 Drawing Text; 17.4 Constructing, Setting, and Using Colors; 17.5 Drawing Images; 17.
6 Constructing Resizable Images; 17.7 Drawing Lines; 17.8 Constructing Paths; 17.9 Drawing Rectangles; 17.10 Adding Shadows to Shapes; 17.11 Drawing Gradients; 17.12 Displacing Shapes Drawn on Graphic Contexts; 17.13 Scaling Shapes Drawn on Graphic Contexts; 17.
14 Rotating Shapes Drawn on Graphic Contexts; 17.15 Animating and Moving Views; 17.16 Animating and S.