stringtranslate.com

Kit de base

Foundation Kit , o simplemente Foundation , es un marco Objective-C en la especificación OpenStep descrita por NeXT Computer, Inc. Proporciona clases básicas como clases contenedoras y clases de estructura de datos. Este marco utiliza el prefijo NS (para NeXTSTEP [1] ). También es parte de Cocoa y de la biblioteca estándar Swift .

Clases

Objeto NS

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 administrando la memoria asociada a ellos y consultándolos.

NSString y NSMutableString

Una clase utilizada para la manipulación de cadenas , que representa una cadena Unicode (que normalmente utiliza 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 de C , y NSNumber es una clase contenedora para tipos de datos numéricos de C, como int , double y float . Las estructuras de datos de Foundation Kit solo pueden contener objetos, no tipos primitivos, por lo que se utilizan contenedores como NSValue y NSNumber en esas estructuras de datos.

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 se puede inicializar con objetos, pero no modificar. NSMutableArray se puede modificar agregando y eliminando 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 la lineal. Sin embargo, no se garantiza el orden de los elementos dentro del contenedor.

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 a otra cosa y que son administrados por ella (como una matriz numérica estática).

NSDate, NSTimeZone y NSCalendar

Clases que almacenan horas y fechas y representan información de calendario. Ofrecen métodos para calcular 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 en función de la ubicación en el mundo.

Implementaciones principales

macOS y iOS

Foundation Kit es parte de la API Cocoa de macOS . Este marco, que comenzó como sucesor de OPENSTEP/Mach , se ha desviado de la compatibilidad con OpenStep y, en algunos lugares, es incompatible. Foundation Kit se encuentra en la API Cocoa Touch de iOS . Este marco se basa en Cocoa de macOS.

GNU paso

El Foundation Kit está implementado en el paquete base de GNUstep (libs-base). Esta implementación es en su mayor parte comparable (faltan 4 clases) y apunta a ser comparable tanto con la API de OpenStep como con las incorporaciones posteriores de macOS . Apple también ha eliminado las clases faltantes. [2]

Cocotrón

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

Fundación Pura

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

Fundación Swift

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

Fundación Apportable

ApportableFoundation es una implementación de Foundation Kit (Foundation, CoreFoundation y CFNetwork) basada 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.

Véase también

Referencias

  1. ^ Bumgarner, Bill. "El prefijo NS se introdujo bastante antes de que Sun firmara la implementación de la especificación OpenStep".
  2. ^ "Cumplimiento de OpenStep". GNUstep (Base) . Consultado el 17 de febrero de 2020 .
  3. ^ "fundación swift-corelibs". GitHub .

Enlaces externos