Kit de base - Foundation Kit

La Fundación Kit , o simplemente Fundación para abreviar, es una de Objective-C marco en el OpenStep especificación. Proporciona clases básicas como clases contenedoras y clases de estructura de datos. Este marco utiliza el prefijo NS (para NeXTSTEP ). También es parte de Cocoa y de la biblioteca estándar de Swift .

Clases

NSObject

Esta clase es la clase base más común para las jerarquías de Objective-C y proporciona métodos estándar para trabajar con objetos mediante la administración de la memoria asociada con ellos y su consulta.

NSString y NSMutableString

Una clase utilizada para la manipulación de cadenas , que representa una cadena Unicode (por lo general, usa UTF-16 como formato interno). NSString es inmutable y, por lo tanto, solo se puede inicializar pero no modificar. NSMutableString es una versión modificable.

NSValue y NSNumber

NSValue es una clase contenedora para tipos de datos C , y NSNumber es una clase contenedora para tipos de datos numéricos C como int , double y float . Las estructuras de datos de Foundation Kit solo pueden contener objetos, no tipos primitivos, por lo que en esas estructuras de datos se utilizan contenedores como NSValue y NSNumber.

NSArray y NSMutableArray

Una matriz dinámica de objetos que admite la indexación en tiempo constante. NSArray es una versión inmutable que solo puede inicializarse con objetos pero no modificarse. NSMutableArray se puede modificar agregando y quitando objetos.

NSDictionary y NSMutableDictionary

Un contenedor de datos asociativo de pares clave-valor con claves únicas. La búsqueda y la adición y eliminación de elementos (en el caso de NSMutableDictionary) es más rápida que lineal. Sin embargo, el orden de los elementos dentro del contenedor no está garantizado.

NSSet y NSMutableSet

Un contenedor asociativo de claves únicas, similar a NSDictionary, con la diferencia de que los miembros no contienen un objeto de datos.

NSData y NSMutableData

Un contenedor para datos de bytes sin procesar. Un objeto de este tipo puede asignar y administrar dinámicamente sus datos, o puede hacer referencia a datos que pertenecen y son administrados por otra cosa (como una matriz numérica estática).

NSDate, NSTimeZone y NSCalendar

Clases que almacenan horas y fechas y representan información calendárica. Ofrecen métodos para calcular las diferencias de fecha y hora. Junto con NSLocale, proporcionan métodos para mostrar fechas y horas en muchos formatos, y para ajustar horas y fechas según la ubicación en el mundo.

Implementaciones importantes

macOS y iOS

El Foundation Kit es parte de macOS Cocoa API. Comenzando como el sucesor de OPENSTEP / Mach , este marco se ha desviado del cumplimiento de OpenStep y, en algunos lugares, es incompatible. El Foundation Kit está en la API Cocoa Touch de iOS . Este marco se basa en macOS Cocoa.

GNUstep

El Foundation Kit está implementado en el Paquete Base de GNUstep (libs-base). Esta implementación es en su mayoría comparable (faltan 4 clases) y pretende ser comparable tanto con la API de OpenStep como con las adiciones posteriores de macOS . Apple también ha eliminado las clases que faltan.

Cocotron

El Foundation Kit se implementa en Cocotron , una implementación de código abierto de Cocoa. También es parte de Darling.

PureFoundation

PureFoundation es una implementación de código abierto de Foundation que implementa Foundation envolviendo Core Foundation , al igual que en Cocoa, en lugar de crear una Fundación separada desde cero como GNUstep y Cocotron.

Fundación Swift

SwiftFoundation (swift-corelibs-foundation) es la implementación Swift de código abierto de Apple de la API Foundation para plataformas donde no hay tiempo de ejecución de Objective-C. También incluye una implementación de Core Foundation .

Fundación Apportable

ApportableFoundation es una implementación de Foundation Kit (Foundation, CoreFoundation y CFNetwork) basado en la versión CFLite de Apple. Funciona en Android y otros sistemas Linux , y forma parte de la capa de traducción Darling macOS para Linux.

Ver también

Referencias

enlaces externos