alloc e init en Objective-C
Nacimiento en dos pasos: la clase asigna, la instancia inicializa.
#import <Foundation/Foundation.h>
int main(void) {
@autoreleasepool {
// Two-step birth: the class allocates, the instance initializes.
NSMutableArray *crate = [[NSMutableArray alloc] init];
[crate addObject:@"Kind of Blue"];
NSLog(@"Crate holds %lu", (unsigned long)[crate count]);
// Class-method constructors wrap the same dance.
NSMutableArray *wall = [NSMutableArray array];
[wall addObject:@"A Love Supreme"];
// Classes are objects too; ask one its name.
NSLog(@"Built by %@", [crate class]);
}
return 0;
}
Cómo funciona
[[NSMutableArray alloc] init]es la creación canónica.- Los constructores de clase como
arrayenvuelven la misma danza. - Las clases son objetos:
[crate class]responde con una.
Palabras clave y builtins usados aquí
NSMutableArrayclassintlongreturnunsignedvoid
El intento, en números
- Líneas
- 18
- Caracteres a escribir
- 516
- Tokens
- 87
- Ritmo de tres estrellas
- 65 tpm
Al ritmo de tres estrellas de 65 tokens por minuto, este intento toma unos 80 segundos.
Paso 3 de 3 en Mensajes; paso 6 de 27 en Fundamentos del lenguaje.