Фондовый комплект
Эта статья нуждается в дополнительных цитатах для проверки . ( декабрь 2009 г. ) |
Foundation Kit , или просто Foundation для краткости, представляет собой Objective-C фреймворк в спецификации OpenStep , описанный NeXT Computer, Inc. Он предоставляет базовые классы, такие как классы-оболочки и классы структуры данных. Эта платформа использует префикс NS (для NeXTSTEP [1] ). Он также является частью Cocoa и стандартной библиотеки Swift .
Классы
[ редактировать ]![]() |
НСОбъект
[ редактировать ]Этот класс является наиболее распространенным базовым классом для иерархий Objective-C и предоставляет стандартные методы для работы с объектами путем управления связанной с ними памятью и выполнения запросов.
НСстринг и НСмутаблестринг
[ редактировать ]Класс, используемый для манипуляций со строками , представляющий строку в Юникоде (чаще всего с использованием UTF-16 в качестве внутреннего формата). NSString является неизменяемым и поэтому может быть только инициализирован, но не изменен. NSmutableString — модифицируемая версия.
NSValue и NSNumber
[ редактировать ]NSValue — это класс-оболочка для типов данных C , а NSNumber — это класс-оболочка для числовых типов данных C, таких как int , double и float . Структуры данных в Foundation Kit могут содержать только объекты, а не примитивные типы, поэтому в этих структурах данных используются такие оболочки, как NSValue и NSNumber.
NSArray и NSmutableArray
[ редактировать ]Динамический массив объектов, поддерживающий индексацию с постоянным временем. NSArray — это неизменяемая версия, которую можно только инициализировать с помощью объектов, но нельзя изменять. NSmutableArray можно изменять путем добавления и удаления объектов.
NSDictionary и NSmutableDictionary
[ редактировать ]Ассоциативный контейнер данных пар ключ-значение с уникальными ключами. Поиск, добавление и удаление элементов (в случае NSMutableDictionary) происходит быстрее линейного. Однако порядок элементов внутри контейнера не гарантируется.
НСсет и НСмутаблесет
[ редактировать ]Ассоциативный контейнер уникальных ключей, аналогичный NSDictionary, с той разницей, что члены не содержат объекта данных.
НСдата и НСмутабледата
[ редактировать ]Обертка для необработанных байтовых данных. Объект этого типа может динамически выделять и управлять своими данными или может ссылаться на данные, принадлежащие и управляемые чем-то другим (например, статическим числовым массивом).
NSDate, NSTimeZone и NSCalendar
[ редактировать ]Классы, хранящие время и даты и представляющие календарную информацию. Они предлагают методы расчета разницы в дате и времени. Вместе с NSLocale они предоставляют методы для отображения дат и времени во многих форматах, а также для настройки времени и дат в зависимости от местоположения в мире.
Основные реализации
[ редактировать ]macOS и iOS
[ редактировать ]Foundation Kit является частью API-интерфейса Cocoa macOS . Будучи преемником OPENSTEP/Mach , эта структура отклонилась от соответствия OpenStep и в некоторых местах несовместима. Foundation Kit находится в API iOS Cocoa Touch . Эта платформа основана на macOS Cocoa.
GNUстеп
[ редактировать ]Foundation Kit реализован в базовом пакете GNUstep (libs-base). Эта реализация в основном сопоставима (отсутствуют 4 класса) и призвана быть сопоставимой как с API OpenStep, так и с более поздними дополнениями для macOS . Apple также отказалась от недостающих классов. [2]
Кокотрон
[ редактировать ]Foundation Kit реализован в Cocotron , реализации Cocoa с открытым исходным кодом. Это также часть Дарлинга .
PureFoundation
[ редактировать ]PureFoundation — это реализация Foundation с открытым исходным кодом, которая реализует Foundation путем оболочки Core Foundation , как в Cocoa, вместо создания отдельного Foundation с нуля, как GNUstep и Cocotron.
SwiftFoundation
[ редактировать ]SwiftFoundation (swift-corelibs-foundation) — это реализация Apple Foundation API с открытым исходным кодом на языке Swift для платформ, на которых нет среды выполнения Objective-C. Он также включает реализацию Core Foundation . [3]
Портативный фонд
[ редактировать ]ApportableFoundation — это реализация Foundation Kit (Foundation, CoreFoundation и CFNetwork), основанная на выпуске Apple CFLite. Он работает на Android и других системах Linux и является частью уровня перевода Darling macOS для Linux.
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ Бамгарнер, Билл. «Префикс NS появился намного раньше, чем Sun подписалась на реализацию спецификации OpenStep» .
- ^ «Соответствие OpenStep» . GNUstep (База) . Проверено 17 февраля 2020 г.
- ^ "swift-corelibs-foundation" . Гитхаб .