Si ya has programado en lenguajes orientados a objetos, la siguiente información te resultará de ayuda para aprender la sintaxis básica de Objetcive-C. Muchaos de los conceptos tradicionales de orientación a objetos, como encapsulación, herencia, y polimorfismo, están presentes en Objective-C. Hay algunas diferencias importantes, pero esas diferencias están remarcadas en este artículo y también se encuentra información más detallada por si la necesita.
Si nunca ha programado usando un lenguaje orientado a objetos, necesita entender al menos algunos de los conceptos antes de proceder. El uso de objetos y los patrones de diseño orientado a objetos son fundamentales para el diseño de aplicaciones usando Cocoa, y entender como interactuan es crítico para crear sus aplicaciones.
Extensión
Clases

(c)developer.apple.co
Métodos y Paso de Mensajes
Una clase en Objective-C puede declarar dos tipos de métodos: métodos de instancia y métodos de clase. Un método de instancia es un método cuya ejecución tiene como ámbito una instancia particular de la clase. En otras palabras, antes de que llames al método, primero debe crear una instancia de la clase. Los métodos de clase, por comparación, no requieren el crear una instancia, pero especificaremos eso más adelante.
La declaración de un método consiste en un identificador de tipo, un tipo de retorno, una o más palabras clave, y el tipo y nombre de de parámetro. La Figura 2 muestra la declaración del método de instancia insertObject:atIndex:
Figura 2 Sintaxis de la declaración de método

Declaración métodos ((c)developer.apple.com)
ejemplo de un listado :
@implementation MyClass
- (id)initWithString:(NSString *)aName
{
if (self = [super init]) {
name = [aName copy];
}
return self;
}
+ (MyClass *)createMyClassWithString: (NSString *)aName
{
return [[[self alloc] initWithString:aName] autorelease];
}
@end
Propiedades Declaradas
Las propiedades declaradas son una notación conveniente usada para reemplazar la declaración y, opcionalmente, implementación de los métodos de acceso.
Incluye la declaración de propiedades con la declaración de métodos en la interfaz de tu clase. La definición básica utiliza la directiva de compilador @property, seguida de información de tipo y el nombre de la propiedad. También puedes configurar la propiedad con opciones personalizadas, que definen como se comporta el método de acceso. El siguiente ejemplo muestra unas declaraciones simples de propiedades:
@property BOOL flag;
@property (copy) NSString *nameObject; // Copy the object during assignment.
@property (readonly) UIView *rootView; // Declare only a getter method.
Cada propiedad con acceso de lectura especifica un método con el mismo nombre que la propiedad. Cada propiedad con acceso de escritura especifica un método adicional con la forma setPropertyName: donde la primera letra del nombre de la propiedad se encuentra en mayúsculas.
En su implemetnación de clase, puede usar la directiva de compilador @synthesize para pedirle al compilador que genere métodos de acuerdo con la especificación en la declaración:
@synthesize flag;
@synthesize nameObject;
@synthesize rootView;
Puede combinar las declaraciones de @synthesize en una sola linea si quiere:
@synthesize flag, nameObject, rootView;
Hablando desde un punto de vista práctico, las propiedades reducen la cantidad de código redudante que necesita escribir. Debido a que la mayoría de métodos de acceso están implementados de manera similar, las propiedades eliminan la necesita de implementar un método getter y setter para cada propiedad de la clase. En su lugar, especifica el comportamiento que quiere usar en la declaración de la propiedad y luego sintetiza los actuales métodos getter y setter en tiempo de compilación basados en la declaración.
Cadenas (Strings)
Como un superset de C, Objective-c soporta las mismas especificaciones sobre cadenas de C. En otras palabras, caracteres simples están rodeados de comillas simples y las cadenas de caracteres están rodeadas de comillas dobles. Sin embargo, la mayoría de frameworks de Objective-C no suelen usan strings al estilo de C. En su lugar, la mayoría de frameworks pasan strings en objetos NSString.
La clase NSString proporciona un objeto envoltorio para cadenas que tiene todas las ventajas que espera, incluyendo gestión de memoria para almacenar cadenas de longitud arbitraria, soporte para Unicode, utilidades de formateo del tipo printf, y más. Debido a que los strings se usan con mucha frecuencia, Objective-C proporciona un notación reducida para crear objetos NSString desde valores constantes. Para usar esta notación reducida, lo único que tiene que hacer es preceder una cadena rodeada de comillas dobles con el símbolo @, como se muestra en los siguientes ejemplos:
NSString *myString = @"My String\n";
NSString *anotherString = [NSString stringWithFormat:@"%d %s", 1, @"String"];
// Create an Objective-C string from a C string
NSString *fromCString = [NSString stringWithCString:"A C string" encoding:NSASCIIStringEncoding];
Protocolos y Delegados
Un protocolo declara métodos que pueden ser implementados por cualquier clase. Los protocolos no sno clases por si mismos. Simplemente definen una interfaz que otros objetos son responsables de implementar. Cuando implementa los métodos de un protocolo en una de sus clases, se dice que su clase se ajusta al protocolo.
Los protocolos son utilizados para especificar la interfaz para objetos delegados. Un objeto delegado es un objeto que actúa en nombre de, o coordinándose con, otro objeto. La mejor manera de entender la relación entre protocolos, delegados, y otros objetos es simplemente verlo con un ejemplo.
La clase UIApplication implementa el comportamiento requerido por una aplicación. En lugar de forzarte a hacer una subclase de UIApplication para recibir simples notificaciones sobre el estado actual de la aplicación, la clase UIApplication entrega estas notificaciones llamando a métodos específicos asignados a un objeto delegado. Un objeto que implementa los métodos del protocolo UIApplicationDelegate pueden recibir estas notificaciones y proporcionar una respuesta apropiada.
La declaración de un protocolo es similiar a la declaración de la interfaz de una clase, con la siguientes excepciones, puesto que los protocolos no tienen una clase padre y no definen instancias de clase. El siguiente ejemplo muestra la declaración de un protocolo simple con un único método:
@protocol MyProtocol
- (void)myProtocolMethod;
@end
En el caso de muchos protocolos delegados, adoptar un protocolo es simplemente un asunto de implementar los métodos definidos por ese protocolo. Hay algunos protocolos que requieren que se diga explícitamente que usted soporta el protocolo, y los protocolos pueden especificar métodos requeridos y opcionales.
este es un vídeo para lo entiendan mas gráficamente:
En el caso de muchos protocolos delegados, adoptar un protocolo es simplemente un asunto de implementar los métodos definidos por ese protocolo. Hay algunos protocolos que requieren que se diga explícitamente que usted soporta el protocolo, y los protocolos pueden especificar métodos requeridos y opcionales.
este es un vídeo para lo entiendan mas gráficamente:
si deseas mas información visita los sitos web:
software de comunicaiones 2018-3.2.1. Objective-C Url: https://sites.google.com/site/swcuc3m/home/iphone/3-desarrollo-de-aplicaciones/3-2-librerias-basicas/3-2-1-objective-c
o
No hay comentarios.:
Publicar un comentario