Foundation Kit, или просто Foundation для краткости, представляет собой структуру Objective-C в спецификации OpenStep. Он предоставляет базовые классы, такие как классы-оболочки и классы структур данных. В этой структуре используется префикс NS (для NeXTSTEP или NeXT / Sun Microsystems ). Он также является частью Cocoa и стандартной библиотеки Swift.
Этот класс является наиболее распространенным базовым классом для Objective -C иерархии и предоставляет стандартные методы для работы с объектами посредством управления памятью, связанной с ними, и выполнения запросов к ним.
Класс, используемый для обработки строки, представляющий строку Unicode (чаще всего с использованием UTF-16 в качестве внутреннего формата). NSString неизменен, поэтому его можно только инициализировать, но нельзя изменять. NSMutableString - это изменяемая версия.
NSValue - это класс-оболочка для типов данных C, а NSNumber - класс-оболочка для C числовых типов данных, таких как int, double и float . Структуры данных в Foundation Kit могут содержать только объекты, а не примитивные типы, поэтому в этих структурах данных используются оболочки, такие как NSValue и NSNumber.
Динамический массив объектов, поддерживающий постоянное индексирование. NSArray - неизменяемая версия, которая может быть инициализирована только объектами, но не может быть изменена. NSMutableArray может быть изменен путем добавления и удаления объектов.
Ассоциативный контейнер данных пар ключ-значение с уникальными ключами. Поиск, добавление и удаление элементов (в случае NSMutableDictionary) происходит быстрее, чем линейно. Однако порядок элементов в контейнере не гарантируется.
Ассоциативный контейнер уникальных ключей, аналогичный NSDictionary, с той разницей, что члены не содержат объект данных.
Обертка для необработанных байтовых данных. Объект этого типа может динамически распределять и управлять своими данными, или он может ссылаться на данные, принадлежащие и управляемые чем-то другим (например, статическим числовым массивом).
Классы, которые хранят время и даты и представляют календарную информацию. Они предлагают методы для расчета разницы в дате и времени. Вместе с NSLocale они предоставляют методы для отображения даты и времени во многих форматах, а также для настройки времени и даты в зависимости от местоположения в мире.
Foundation Kit является частью macOS Cocoa API. Начинаясь как преемник OPENSTEP / Mach, эта структура отклонялась от соответствия OpenStep и в некоторых местах несовместима. Foundation Kit находится в API iOS Cocoa Touch. Эта структура основана на macOS Cocoa.
Foundation Kit реализован в базовом пакете GNUstep (libs-base). Эта реализация в основном сопоставима (отсутствуют 4 класса) и стремится быть сопоставимой как с OpenStep API, так и с более поздними дополнениями macOS. Отсутствующие классы также были удалены Apple.
Foundation Kit реализован в Cocotron, реализации Cocoa с открытым исходным кодом. Это также часть Darling.
PureFoundation - это реализация Foundation с открытым исходным кодом, которая реализует Foundation путем обертывания Core Foundation, как и в Cocoa, вместо создания отдельного Foundation с нуля, например GNUstep и Cocotron.
SwiftFoundation (swift-corelibs-foundation) - это реализация Swift Foundation API с открытым исходным кодом от Apple для платформ, где нет среды выполнения Objective-C. Он также включает реализацию Core Foundation.
ApportableFoundation - это реализация Foundation Kit (Foundation, CoreFoundation и CFNetwork) на основе выпуска Apple CFLite. Он работает на Android и других системах Linux и составляет часть уровня перевода Darling macOS для Linux.