Zestaw podkładowy

Foundation Kit , w skrócie Foundation , to framework Objective-C w specyfikacji OpenStep . Zapewnia podstawowe klasy, takie jak klasy opakowujące i klasy struktur danych. Ta struktura używa przedrostka NS (dla NeXTSTEP ). Jest również częścią Cocoa i standardowej biblioteki Swift .

Klasy

NSObject

Ta klasa jest najczęstszą klasą bazową dla hierarchii Objective-C i zapewnia standardowe metody pracy z obiektami poprzez zarządzanie pamięcią powiązaną z nimi i wysyłanie do nich zapytań.

NSString i NSMutableString

Klasa używana do manipulowania łańcuchami , reprezentująca ciąg znaków Unicode (najczęściej używa UTF-16 jako formatu wewnętrznego). NSString jest niezmienny, a zatem można go tylko zainicjować, ale nie można go modyfikować. NSMutableString to modyfikowalna wersja.

NSWartość i NSNumber

NSValue jest klasą opakowującą dla typów danych C , a NSNumber jest klasą opakowującą dla liczbowych typów danych C , takich jak int , double i float . Struktury danych w Foundation Kit mogą przechowywać tylko obiekty, a nie typy pierwotne, dlatego w tych strukturach danych używane są opakowania, takie jak NSValue i NSNumber.

NSArray i NSMutableArray

Dynamiczna tablica obiektów obsługująca indeksowanie w czasie stałym. NSArray to niezmienna wersja, którą można zainicjować tylko obiektami, ale nie można jej modyfikować. NSMutableArray można modyfikować, dodając i usuwając obiekty.

NSDictionary i NSMutableDictionary

Asocjacyjny kontener danych składający się z par klucz-wartość z unikalnymi kluczami. Wyszukiwanie oraz dodawanie i usuwanie elementów (w przypadku NSMutableDictionary) jest szybsze niż liniowe. Jednak kolejność elementów w kontenerze nie jest gwarantowana.

NSSet i NSMutableSet

Asocjacyjny kontener unikalnych kluczy, podobny do NSDictionary, z tą różnicą, że członkowie nie zawierają obiektu danych.

NSData i NSMutableData

Otoka dla nieprzetworzonych danych bajtowych. Obiekt tego typu może dynamicznie przydzielać swoje dane i zarządzać nimi lub może odwoływać się do danych należących do czegoś innego i zarządzanych przez coś innego (takiego jak statyczna tablica numeryczna).

NSDate, NSTimeZone i NSCalendar

Klasy, które przechowują godziny i daty oraz reprezentują informacje z kalendarza. Oferują metody obliczania różnic dat i godzin. Wraz z NSLocale zapewniają metody wyświetlania dat i godzin w wielu formatach oraz dostosowywania godzin i dat na podstawie lokalizacji na świecie.

Główne wdrożenia

macOS i iOS

Zestaw podstawowy jest częścią interfejsu API macOS Cocoa . Począwszy od następcy OPENSTEP/Mach , ta struktura odbiegała od zgodności z OpenStep i jest w niektórych miejscach niekompatybilna. Zestaw podstawowy znajduje się w interfejsie API iOS Cocoa Touch . Ta struktura jest oparta na macOS Cocoa. [ potrzebne źródło ]

GNUstep

Zestaw podstawowy jest zaimplementowany w pakiecie podstawowym GNUstep (libs-base). Ta implementacja jest w większości porównywalna (brakuje 4 klas) i ma być porównywalna zarówno z OpenStep API, jak i późniejszymi dodatkami do systemu macOS . Brakujące klasy zostały również usunięte przez Apple.

Kokotron

Zestaw podstawowy jest realizowany w Cocotron , implementacji Cocoa typu open source. Jest także częścią Darlinga .

CzystaPodstawa

PureFoundation to implementacja Foundation o otwartym kodzie źródłowym, która implementuje Foundation poprzez opakowanie Core Foundation , tak jak w Cocoa, zamiast tworzyć osobną Fundację od podstaw, jak GNUstep i Cocotron.

Swift Foundation

API Fundacji Foundation typu open source firmy Apple dla platform, na których nie ma środowiska uruchomieniowego Objective-C. Obejmuje również implementację Core Foundation .

Fundacja Appportable

ApportableFoundation to implementacja Foundation Kit (Foundation, CoreFoundation i CFNetwork) oparta na wersji CFLite firmy Apple. Działa na Androidzie i innych systemach Linux i stanowi część warstwy translacji Darling macOS dla Linuksa.

Zobacz też

Linki zewnętrzne