iPhone programming : the Big Nerd Ranch guide

Based on Big Nerd Ranch’s popular iPhone Bootcamp class, iPhone Programming: The Big Nerd Ranch Guide leads you through the essential tools and techniques for developing applications for the iPhone, iPad, and iPod Touch. In each chapter, you will learn programming concepts and apply them immediately...

Descripción completa

Detalles Bibliográficos
Otros Autores: Conway, Joe Author (author), Hillegass, Aaron Contributor (contributor)
Formato: Libro electrónico
Idioma:Inglés
Publicado: [Place of publication not identified] Big Nerd Ranch 2010
Edición:1st edition
Materias:
Ver en Biblioteca Universitat Ramon Llull:https://discovery.url.edu/permalink/34CSUC_URL/1im36ta/alma991009629125806719
Tabla de Contenidos:
  • Cover
  • Table of Contents
  • Introduction
  • Prerequisites
  • Our Teaching Philosophy
  • How To Use This Book
  • How This Book Is Organized
  • Style Choices
  • Typographical Conventions
  • Hardware, Software, and Deployment
  • 1. A Simple iPhone Application
  • Creating an Xcode Project
  • Using Interface Builder
  • Model-View-Controller
  • Declarations
  • Declaring instance variables
  • Declaring methods
  • Making Connections
  • Setting pointers
  • Setting targets and actions
  • Summary of connections
  • Implementing Methods
  • Build and Run on the Simulator
  • Event-driven Programming
  • Deploying an Application
  • Application Icons
  • Default Images
  • 2. Objective-C
  • Objects
  • Using Instances
  • Writing the RandomPossessions Tool
  • NSArray and NSMutableArray
  • Subclassing an Objective-C Class
  • Instance variables
  • Accessors and properties
  • Instance methods
  • Initializers
  • Self
  • Super
  • Initializer chain
  • Class methods
  • Exceptions and the Console Window
  • Objective-C 2.0 Additions
  • 3. Memory Management
  • Memory Management Concepts
  • Managing memory in C
  • Managing memory with objects
  • Reference Counting
  • Using retain counts
  • Avoiding memory leaks with autorelease
  • Managing memory in accessors and properties
  • Retain count rules
  • Managing Memory in RandomPossessions
  • 4. Delegation and Core Location
  • Delegation
  • Beginning the Whereami Application
  • Using frameworks
  • Core Location
  • Receiving updates from CLLocationManager
  • Releasing Controller Instance Variables
  • Challenge: Heading
  • For the More Curious: Compiler and Linker Errors
  • For the More Curious: Protocols
  • 5. MapKit and Text Input
  • Object Diagrams
  • MapKit Framework
  • Interface Properties
  • Being a MapView Delegate
  • Your own MKAnnotation
  • Tagging locations
  • Challenge: Annotation Extras
  • Challenge: Reverse Geocoding.
  • Challenge: Changing the Map Type
  • For the More Curious: Renaming an Application
  • 6. Subclassing UIView
  • Creating a Custom View
  • The drawRect: method
  • Instantiating a UIView
  • Drawing Text and Shadows
  • Using UIScrollView
  • Zooming
  • Hiding the Status Bar
  • Challenge: Colors
  • For the More Curious: Retain Cycles
  • For the More Curious: Redrawing Views
  • 7. View Controllers
  • View Controllers and XIB Files
  • Using View Controllers
  • Creating the UITabBarController
  • Creating view controllers and tab bar items
  • Creating views for the view controllers
  • ViewWillAppear:
  • The Lifecycle of a View Controller
  • Challenge: Map Tab
  • For the More Curious: Paging
  • 8. The Accelerometer
  • Setting Up the Accelerometer
  • Getting Accelerometer Data
  • Orientation and Scale of Acceleration
  • Using Accelerometer Data
  • Smoothing Accelerometer Data
  • Detecting Shakes
  • Challenge: Changing Colors
  • For the More Curious: Filtering and Frequency
  • 9. Notification and Rotation
  • Notification Center
  • UIDevice Notifications
  • Autorotation
  • For the More Curious: Forcing Landscape Mode
  • Challenge: Proximity Notifications
  • For the More Curious: Overriding Autorotation
  • 10. UITableView and UITableViewController
  • Beginning the Homepwner Application
  • UITableViewController
  • Subclassing UITableViewController
  • UITableView's Data Source
  • UITableViewDataSource protocol
  • UITableViewCells
  • Reusing UITableViewCells
  • Challenge: Sections
  • 11. Editing UITableView
  • Editing Mode
  • Deleting Rows
  • Moving Rows
  • Inserting Rows
  • 12. UINavigationController
  • UINavigationController
  • UINavigationBar
  • An Additional UIViewController
  • The XIB file and File's Owner
  • Setting up ItemDetailViewController
  • Navigating with UINavigationController
  • Appearing and disappearing views
  • Challenge: Number Pad.
  • 13. Camera and UIPopoverController
  • ImageCache: a Singleton
  • NSDictionary
  • Singletons
  • Displaying Images and UIImageView
  • Taking pictures and UIImagePickerController
  • UIPopoverController
  • Creating and using keys
  • Challenge: Removing an Image
  • For the More Curious: Recording Video
  • 14. Saving, Loading and Multitasking
  • Application Sandbox
  • Archiving
  • Archiving Objects
  • Supporting Multitasking
  • Unarchiving Objects
  • Application State Transitions
  • Writing to Disk with NSData
  • Challenge: Archiving Wherewasi
  • For the More Curious: Reading and Writing to Disk
  • For the More Curious: The Application Bundle
  • 15. Low-Memory Warnings
  • Handling Low-Memory Warnings
  • View controller memory warnings
  • Simulating Low-Memory Warnings
  • 16. Subclassing UITableViewCell
  • Creating HomepwnerItemCell
  • Create subviews
  • Layout subviews
  • Using the custom cell
  • Image Manipulation
  • Challenge: Accessory Views
  • Challenge: Make it Pretty
  • 17. Multi-Touch, UIResponder, and Using Instruments
  • Touch Events
  • Creating the TouchTracker Application
  • Turning Touches Into Lines
  • The Responder Chain
  • Instruments
  • The ObjectAlloc Instrument
  • The Sampler Instrument
  • Challenge: Saving and Loading
  • Challenge: Circles
  • For the More Curious: UIControl
  • 18. Core Animation Layer
  • Creating a CALayer
  • Layer Content
  • Implicitly Animatable Properties
  • For the More Curious: Programmatically Generating Content
  • For the More Curious: Layers and Views
  • Challenge: Dynamic Layer Content
  • 19. Controlling Animation with CAAnimation
  • Animation Objects
  • Spinning the Time with CABasicAnimation
  • Timing functions
  • Animation completion
  • Bouncing the Time with a CAKeyframeAnimation
  • Challenge: More Animation
  • For the More Curious: Presentation and Model Layers
  • 20. Media Playback and Background Execution.
  • Creating the MediaPlayer Application
  • Playing System Sounds
  • Playing Audio Files
  • Playing Movie Files
  • Background Processes
  • Other forms of background execution
  • Low-level APIs
  • Challenge: Audio Recording
  • 21. Web Services
  • Creating the TopSongs Application
  • Setting up the interface
  • Fetching Data From a URL
  • Working with NSURLConnection
  • Parsing XML
  • For the More Curious: The Request Body
  • Challenge: More Data
  • For the More Curious: Credentials
  • 22. Address Book
  • The People Picker
  • Additions to Possession Class
  • Address Book Functions
  • For the More Curious: That Other Delegate Method
  • 23. Localization
  • Internationalization using NSLocale
  • Localizing Resources
  • NSLocalizedString and Strings Tables
  • Challenge: Another Localization
  • For the More Curious: NSBundle's Role in Internationalization
  • 24. Bonjour
  • Publishing a Service
  • Browsing for Services
  • TXT Record
  • Socket Connections
  • 25. Settings
  • Settings Bundle
  • NSUserDefaults
  • Registering defaults
  • Using the defaults
  • Respecting changes in suspended applications
  • 26. SQLite
  • Creating the Nayshunz Application
  • Creating the Database
  • Fetching Data
  • Making and Using the Tree
  • Challenge: Fetching More Data
  • Challenge: Custom Objects
  • 27. Core Data
  • Creating the Inventory Application
  • Editing the model file
  • AppController
  • LabelSettingViewController
  • LocationListViewController
  • AssetListViewController
  • CountViewController
  • How It All Works
  • Trade-offs of Persistence Mechanisms
  • Challenge 1: Deleting
  • Challenge 2: Custom NSManagedObject Subclasses
  • 28. Developing for the iPad
  • Universal Applications
  • Porting existing projects to the iPad
  • New iPad Stuff
  • Index.