About NSDictionary
In the Cocoa Touch world, a dictionary is an object that holds a
collection of values, each of which is associated with a unique
key (sort of like a label). A combination of the key
and its value is known as a key-value pair and makes
up an entry in the dictionary. Keys within a single
dictionary need to be unique, but you are free to reuse key names in
different dictionary objects in the same scope. Cocoa Touch provides an
NSDictionary
class for a dictionary
whose contents and size remain fixed once it is created and an NSMutableDictionary
class (a subclass of
NSDictionary
) for a dictionary whose
individual entries can change over time. If you’re looking for an analogue
in the JavaScript world, the associative array comes closest in conception
in that you can access a value by way of the value’s name. But NSDictionary
is a far more powerful entity than
what JavaScript offers.
Each value stored in an NSDictionary
must be an Objective-C object—the
same requirement as for NSArray
. For example, numeric values are best
represented by the NSNumber
class, and
you must wrap scalar values inside the NSValue
class. An object may also be another
dictionary, allowing for nested dictionaries if your data requires such a
structure. Although you can use any Objective-C object as a key, an
NSString
is the most common way to
represent a key.
Creating an NSDictionary
One point to always keep in mind when creating an NSDictionary
is that you have to supply data in pairs—one key and ...
Get Learning the iOS 4 SDK for JavaScript Programmers now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.