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
- GNUstep Base
- Apple Foundation Framework Reference
- Foundation avsnitt i Cocoa Fundamentals Guide
- Lista över klasser i OpenStep-specifikationen