NSObject This class is the most common base class for
Objective-C hierarchies and provides standard methods for working with objects by
managing the memory associated with them and querying them.
NSString and NSMutableString A class used for
string manipulation, representing a
Unicode string (most typically using UTF-16 as its internal format). NSString is immutable, and thus can only be initialized but not modified. NSMutableString is a modifiable version.
NSValue and NSNumber NSValue is a wrapper class for
C data types, and NSNumber is a wrapper class for
C number data types such as
int,
double, and
float. The
data structures in Foundation Kit can only hold objects, not primitive types, so wrappers such as NSValue and NSNumber are used in those data structures.
NSArray and NSMutableArray A dynamic array of objects, supporting constant-time indexing. NSArray is an immutable version that can only be initialized with objects but not modified. NSMutableArray may be modified by adding and removing objects.
NSDictionary and NSMutableDictionary An associative data container of key-value pairs with unique keys. Searching and element addition and removal (in the case of NSMutableDictionary) is faster-than-linear. However, the order of the elements within the container is not guaranteed.
NSSet and NSMutableSet An associative container of unique keys, similar to NSDictionary, with the difference that members do not contain a data object.
NSData and NSMutableData A wrapper for raw byte data. An object of this type can dynamically allocate and manage its data, or it can refer to data owned by and managed by something else (such as a static numeric array).
NSDate, NSTimeZone and NSCalendar Classes that store times and dates and represent calendrical information. They offer methods for calculating date and time differences. Together with NSLocale, they provide methods for displaying dates and times in many formats, and for adjusting times and dates based on location in the world. ==Major implementations==