Zestaw podkładowy - Foundation Kit

Fundacja Kit , lub po prostu Fundacja za krótkie, to Objective-C ramy w OpenStep specyfikacji. Udostępnia podstawowe klasy, takie jak klasy opakowujące i klasy struktury danych. Ta struktura używa prefiksu NS (dla NeXTSTEP ). Jest również częścią biblioteki Cocoa i standardowej biblioteki Swift .

Klasy

NSObject

Ta klasa jest najpopularniejszą klasą bazową dla hierarchii celu-C i zapewnia standardowe metody pracy z obiektami poprzez zarządzanie pamięcią z nimi skojarzoną i wykonywanie zapytań.

NSString i NSMutableString

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

Wartość NSV i numer NSN

NSValue jest klasą opakowującą typy danych C , a NSNumber jest klasą opakowującą typy danych liczbowych C, takie jak int , double i float . Struktury danych w Foundation Kit mogą przechowywać tylko obiekty, a nie typy pierwotne, więc 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 inicjować tylko za pomocą obiektów, ale nie można jej modyfikować. NSMutableArray można modyfikować poprzez dodawanie i usuwanie obiektów.

NSDictionary i NSMutableDictionary

Powiązany kontener danych 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.

NSet i NSMutableSet

Kontener asocjacyjny unikalnych kluczy, podobny do NSDictionary, z tą różnicą, że elementy członkowskie nie zawierają obiektu danych.

NSData i NSMutableData

Opakowanie na surowe dane bajtowe. Obiekt tego typu może dynamicznie alokować i zarządzać swoimi danymi lub może odwoływać się do danych posiadanych i zarządzanych przez coś innego (takiego jak statyczna tablica liczbowa).

NSDate, NSTimeZone i NSCalendar

Klasy przechowujące godziny i daty oraz reprezentujące informacje kalendarzowe. Oferują metody obliczania różnic dat i godzin. Wraz z NSLocale udostępniają 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ą macOS Cocoa API. Zaczynając jako następca OPENSTEP/Mach , ten framework odbiega od zgodności z OpenStep i jest w niektórych miejscach niekompatybilny. Zestaw Foundation Kit znajduje się w interfejsie API iOS Cocoa Touch . Ta struktura jest oparta na macOS Cocoa.

GNUstep

Zestaw Foundation Kit 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 interfejsem OpenStep API, jak i późniejszymi dodatkami macOS . Brakujące klasy również zostały usunięte przez Apple.

Kokotron

The Foundation Kit jest zaimplementowany w Cocotron , implementacji open source Cocoa. Jest również częścią Darling.

PurePodkład

PureFoundation to open- sourceowa implementacja Foundation, która implementuje Foundation poprzez opakowanie Core Foundation , tak jak w Cocoa, zamiast tworzyć osobną Fundację od podstaw, jak GNUstep i Cocotron.

Fundacja Swift

SwiftFoundation (swift-corelibs-foundation) to otwarta implementacja Swift API Foundation dla platform, na których nie ma środowiska wykonawczego Objective-C. Obejmuje również wdrożenie Core Foundation .

Adekwatna Fundacja

AppportableFoundation to implementacja Foundation Kit (Foundation, CoreFoundation i CFNetwork) oparta na wydaniu Apple CFLite. Działa na Androidzie i innych systemach Linux i stanowi część warstwy tłumaczeniowej Darling macOS dla systemu Linux.

Zobacz też

Bibliografia

Linki zewnętrzne