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 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access