Appendix A. iOS class reference
After reading this book, your main resource for learning more about iOS development should be the references at http://developer.apple.com. To help you find documents that might interest you, this appendix lists the major classes in the UIKit and Foundation hierarchies
that you may want to know more about, excluding classes that only appear as a part of another class.
A.1. UIKit framework classes
The UIKit framework contains those classes most tightly connected to the devices, including all the graphical classes you
use to make up pages. A partial listing appears as table A.1. It’s current as of iOS 4.3 and will probably be mostly correct when you read this, but the UIKit does sometimes change between
releases.
Table A.1. The most important user interface classes
Class
|
Parent
|
Summary
|
---|
UIActionSheet |
UIView |
A pop-up window that includes options; similar to a UIAlertView |
UIActivityIndicatorView |
UIView |
An indeterminate progress display |
UIAlertView |
UIView |
A pop-up window that includes options; similar to a UIActionSheet |
UIApplication |
UIResponder |
The main source for application information and control |
UIButton |
UIControl |
A push button |
UIColor |
NSObject |
A color output class |
UIControl |
UIView |
An abstract class that is parent to many user controls |
UIDatePicker |
UIControl |
A wheeled date-selection device |
UIDevice |
NSObject |
A class that holds info about the device itself |
UIEvent |
NSObject |
A container for touches; part of the event model |
UIFont
|
NSObject |
A font output class |
UIImage |
NSObject |
A nondisplaying image holder |
UIImagePickerController |
UINavigationController |
A modal controller for image selection |
UIImageView |
UIView |
An image display that holds one or more UIImage objects |
UILabel |
UIView |
A small, non-editable text display |
UINavigationController |
UIViewController |
A hierarchical controller; often linked with a UITableViewController to produce hierarchical menus |
UIPageControl |
UIControl |
A toolbar for navigating among pages using dots |
UIPickerView |
UIView |
A wheel-based selection mechanism |
UIProgressView |
UIView |
A determinate progress display |
UIResponder |
NSObject |
An abstract class that defines all classes that can receive and respond to events |
UIScreen |
NSObject |
A class containing the device’s entire screen |
UIScrollView |
UIView |
A parent class for views with multiple pages of content |
UISearchBar |
UIView |
A text-input mechanism specialized for searches |
UISegmentedControl |
UIControl |
A control for making one of several choices |
UISlider |
UIControl |
A control for setting discrete values |
UISwitch |
UIControl |
A control for selecting binary values |
UITabBarController |
UIViewController |
A controller for moving among multiple screens |
UITableViewController |
UIViewController |
A controller for displaying tables of content; often linked with a UINavigationController |
UITextField |
UIControl |
A control for inputting short text |
UITextView |
UIScrollView |
A display for text of any size |
UITouch |
NSObject |
An individual touch on the device’s screen |
UIView |
UIResponder |
The abstract class that lies at the core of most UIKit objects |
UIViewController |
UIResponder |
A simple view controller |
UIWebView
|
UIView |
A Safari-like web browser |
UIWindow |
UIView |
The root for the view hierarchy |
A.2. Foundation framework classes
Foundation framework classes, whose names begin with NS, are almost as important as the UI classes because they represent foundational variable types, like strings and numbers.
Table A.2 only lists the major classes that have some relevance to the sort of work you’ve done in this book; for more, look at Apple’s
developer site under Core Services Frameworks.
Table A.2. A listing of the most important Foundation classes
Class
|
Parent
|
Summary
|
---|
NSArray |
NSObject |
An array |
NSAutoreleasePool |
NSObject |
A memory-management class |
NSBundle |
NSObject |
A pointer toward a project’s filesystem home |
NSCharacterSet |
NSObject |
Methods for managing characters |
NSCountedSet |
NSMutableSet |
An unordered collection of elements |
NSData |
NSObject |
A wrapper for a byte buffer |
NSDictionary |
NSObject |
An associative array |
NSError |
NSObject |
Encapsulated error information |
NSFileHandle |
NSObject |
A methodology for controlling files |
NSFileManager |
NSObject |
A manager for filesystem work |
NSIndexPath |
NSObject |
A node path |
NSLog |
NSObject |
A very important object for debugging; logs a formatted string to the system log |
NSMutableArray |
NSArray |
An array that can be changed |
NSMutableCharacterSet |
NSCharacterSet |
A character set that can be changed |
NSMutableData |
NSData |
Data that can be changed |
NSMutableDictionary |
NSDictionary |
A dictionary that can be changed |
NSMutableSet |
NSSet |
A set that can be changed |
NSMutableString |
NSString |
A string that can be changed |
NSMutableURLRequest |
NSURLRequest |
A URL request that can be changed |
NSNotificationCenter
|
NSObject |
A notification manager |
NSNumber |
NSValue |
A way to encapsulate many types of numbers |
NSObject |
N/A |
The root class for Cocoa Touch |
NSString |
NSObject |
A class for various sorts of string storage and manipulation |
NSURL |
NSObject |
A simple URL object |
NSURLRequest |
NSObject |
A URL plus a cache policy |
NSValue |
NSObject |
A simple container for data |
NSXMLParser |
NSObject |
An XML parser |
A.3. Other classes
The UI and NS classes should contain most of the objects you use when programming.
We’ve also covered several other frameworks throughout this book, including the Address Book framework (chapter 9), the Address Book UI framework (chapter 9), the Core Location framework (chapter 10), the Core Audio framework (chapter 12), the Media Player framework (chapter 12), the Core Graphics framework (chapter 11), the Quartz Core framework (chapter 13), the OpenGL ES framework (chapter 13), the CFNetwork framework (chapter 14), the Game Kit Framework (chapter 15), the Event Kit framework (chapter 16), the APNS framework (chapter 17), the Map Kit framework (chapter 18), the Store Kit framework (chapter 19), and the iAd framework (chapter 20). Finally, you may wish to pay some attention to the Core Foundation framework, which we’ve used (as infrequently as possible)
throughout the last part of this book.