¿Qué significa esto en Objective-C
-
13-12-2019 - |
Pregunta
Tengo un archivo llamado ManageadDressBook.m El archivo tiene dos @olvementation dentro
¿Qué significa el segundo?
@implementation ManageAddressBook
@end
@implementation NSString (Additions)
@end
Solución
La primera implementación es solo una nueva clase.La segunda implementación es básicamente los métodos de extensión para una clase existente, conocidos como categorías.Consulte el artículo: Categorías y extensiones Para más información.
Como se resume en la parte superior del enlace:
Una categoría le permite agregar métodos a una clase existente, incluso a una para la cual no tiene la fuente.Las categorías son una característica poderosa que le permite extender la funcionalidad de las clases existentes sin subclasificación.Uso de categorías, también puede distribuir la implementación de sus propias clases entre varios archivos.Las extensiones de clase son similares, pero permiten que se declare API requeridas adicionales para una clase en ubicaciones que no sean dentro del Bloque de PRIMARSE PRIMARIO @Interface.
Otros consejos
El segundo implementa un Objective-C categoría en NSString
, es decir, métodos que operan en NSString
, pero no son proporcionados por los escritores de la clase de NSString
.
Agregar categorías Le permite extender la funcionalidad de una clase de una manera que sea algo similar a los métodos de extensión de C #: los objetos comienzan a responder a los mensajes definidos en las categorías, lo que lo hace conveniente escribir la funcionalidad de una manera flexible y modular.