Foundation Kit

Foundation Kit , eller bara Foundation för kort, är ett Objective-C- ramverk i OpenStep- specifikationen. Den tillhandahåller grundläggande klasser som omslagsklasser och datastrukturklasser. Detta ramverk använder prefixet NS (för NeXTSTEP ). Det är också en del av Cocoa och Swifts standardbibliotek.

Klasser

NSO-objekt

Denna klass är den vanligaste basklassen för Objective-C- hierarkier och tillhandahåller standardmetoder för att arbeta med objekt genom att hantera minnet som är associerat med dem och fråga dem.

NSString och NSMutableString

En klass som används för strängmanipulation , som representerar en Unicode- sträng (oftast använder UTF-16 som sitt interna format). NSString är oföränderlig och kan därför bara initieras men inte modifieras. NSMutableString är en modifierbar version.

NSValue och NSNumber

NSValue är en omslagsklass för C-datatyper och NSNumber är en omslagsklass för C- nummerdatatyper som int , double och float . Datastrukturerna , så omslag som NSValue och NSNumber används i dessa datastrukturer.

NSArray och NSMutableArray

En dynamisk samling av objekt som stöder konstanttidsindexering. NSArray är en oföränderlig version som endast kan initieras med objekt men inte modifieras. NSMutableArray kan modifieras genom att lägga till och ta bort objekt.

NSDictionary och NSMutableDictionary

En associativ databehållare med nyckel-värdepar med unika nycklar. Sökning och tillägg och borttagning av element (i fallet med NSMutableDictionary) är snabbare än linjärt. Ordningen på elementen i behållaren är dock inte garanterad.

NSSet och NSMutableSet

En associativ behållare med unika nycklar, liknande NSDictionary, med skillnaden att medlemmar inte innehåller ett dataobjekt.

NSData och NSMutableData

Ett omslag för rå bytedata. Ett objekt av den här typen kan dynamiskt allokera och hantera sina data, eller så kan det referera till data som ägs av och hanteras av något annat (som en statisk numerisk matris).

NSDate, NSTimeZone och NSCalendar

Klasser som lagrar tider och datum och representerar kalenderinformation. De erbjuder metoder för att beräkna datum- och tidsskillnader. Tillsammans med NSLocale tillhandahåller de metoder för att visa datum och tider i många format, och för att justera tider och datum baserat på plats i världen.

Stora implementeringar

macOS och iOS

Foundation Kit är en del av macOS Cocoa API. Från och med som efterföljaren till OPENSTEP/Mach har detta ramverk avvikit från OpenStep- efterlevnad och är på vissa ställen inkompatibelt. Foundation Kit finns i iOS Cocoa Touch API. Detta ramverk är baserat på macOS Cocoa. [ citat behövs ]

GNUstep

Foundation Kit är implementerat i GNUsteps Base Package (libs-base). Denna implementering är för det mesta jämförbar (4 klasser saknas) och syftar till att vara jämförbar med både OpenStep API och senare macOS- tillägg. De saknade klasserna har också tappats av Apple.

Cocotron

Foundation Kit implementeras i Cocotron , en öppen källkodsimplementering av Cocoa. Det är också en del av Darling .

PureFoundation

PureFoundation är en öppen källkodsimplementering av Foundation som implementerar Foundation genom att omsluta Core Foundation , precis som i Cocoa, snarare än att skapa en separat Foundation från grunden som GNUstep och Cocotron.

SwiftFoundation

SwiftFoundation (swift-corelibs-foundation) är Apples Swift -implementering med öppen källkod av Foundation API för plattformar där det inte finns någon Objective-C-körning. Det inkluderar också en implementering av Core Foundation .

ApportableFoundation

ApportableFoundation är en implementering av Foundation Kit (Foundation, CoreFoundation och CFNetwork) baserat på Apples CFLite-utgåva. Det fungerar på Android och andra Linux- system och utgör en del av Darling macOS-översättningslagret för Linux.

Se även

externa länkar