Foundation Kit
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
- NSAssertionHandler
- NSAttributedString
- NSMutableAttributedString
- NSAutoreleasePool
- NSBundle
- NSCharacterSet
- NSCoder
- NSArchiver
- NSUnarchiver
- NSPortCoder
- NSConditionLock
- NSConnection
- NSCountedSet
- NSData
- NSDate
- NSDeserializer
- NSDictionary
- NSDistributedLock
- NSEnumerator
- 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
- NSString
- NSTask
- NSThread
- NSTimer
- NSTimeZone
- NSUserDefaults
- NSValue
- NSProxy
Some of these classes specify data structures, for example NSSet, NSString, NSNumber, however others specify general functionality provided by any modern programming languages, such as NSTimer, NSException, and so on.
Mutable datatypes represent stored data which can be changed, while non-mutable datatypes can not be changed after they are set.