Foundation Kit

The Foundation Kit, or just Foundation for short, is an Objective-C framework in the OpenStep specification. It provides basic classes such as wrapper classes and data structure classes. This framework uses the prefix NS (for NeXTSTEP, or NeXT/Sun_Microsystems).

Classes

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

This class is used for string manipulation in OpenStep environments, representing a Unicode string. Though this class is immutable, there is an NSMutableString class in Foundation Kit.

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.

Major implementations

macOS

The Foundation Kit is part of the Cocoa API. Beginning as the successor to OPENSTEP/Mach, this framework has deviated from OpenStep compliance, and is in some places incompatible.

iOS

The Foundation Kit is in the Cocoa Touch API. This framework is based on the macOS Foundation, not OpenStep.

GNUstep

The Foundation Kit is implemented in GNUstep's Base Package. This implementation is mostly comparable (4 classes are missing) and aims to be comparable with both the OpenStep API and later macOS additions.

Cocotron

The Foundation Kit is implemented in Cocotron, an open-source implementation of Cocoa.

PureFoundation

PureFoundation is an open-source implementation of Foundation that implements Foundation by wrapping Core Foundation, just like in Cocoa, rather than create a separate Foundation from scratch like GNUstep and Cocotron.

SwiftFoundation

SwiftFoundation is Apple's open-source Swift implementation of the Foundation API for platforms where there is no Objective-C runtime.

See also

External links

This article is issued from Wikipedia - version of the 11/2/2016. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.