The Foundation Kit, or just Foundation for short, is a framework specified under the OpenStep specification.
Foundation specifies device independent classes and programming functionality. There are several classes specified by Foundation, these are: (outlining represents inheritance structure)
- NSObject
- NSArray
- NSMutableArray
- NSAssertionHandler
- NSAttributedString
- NSMutableAttributedString
- NSAutoreleasePool
- NSBundle
- NSCharacterSet
- NSCoder
- NSArchiver
- NSUnarchiver
- NSPortCoder
- NSConditionLock
- NSConnection
- NSCountedSet
- NSData
- NSMutableData
- NSDate
- NSCalendarDate
- NSDeserializer
- NSDictionary
- NSMutableDictionary
- NSDistributedLock
- NSEnumerator
- NSDictionaryEnumerator
- NSFileHandle
- NSFileManager
- NSFormatter
- NSException
- NSFormatter
- NSDateFormatter
- NSNumberFormatter
- NSHost
- NSInvocation
- NSLock
- NSNotification
- NSNotificationCenter
- NSNotificationQueue
- NSPipe
- NSPPL
- NSPort
- NSPortMessage
- NSPortNameServer
- NSPosixFileDescriptor
- NSProtocolChecker
- NSRecursiveLock
- NSRunLoop
- NSScanner
- NSSerializer
- NSSet
- NSMutableSet
- NSCountableSet
- NSMutableSet
- NSString
- NSMutableString
- NSTask
- NSThread
- NSTimer
- NSTimeZone
- NSTimeZoneDetail
- NSUserDefaults
- NSValue
- NSNumber
- NSDecimalNumber
- NSArray
- NSProxy
- NSDistantObject
- NSDistantObject
Mutable datatypes represent stored data which can be changed, while non-mutable datatypes can not be changed after they are set.