Enumeración por bloques en Objective-C
La colección maneja; tu block viaja con índice y freno.
#import <Foundation/Foundation.h>
int main(void) {
@autoreleasepool {
NSArray<NSString *> *arrivals =
@[ @"Ege Bamyasi", @"Marquee Moon", @"Remain in Light" ];
// The block receives the object, its index, and a stop switch.
[arrivals enumerateObjectsUsingBlock:
^(NSString *title, NSUInteger idx, BOOL *stop) {
NSLog(@"Bin %lu: %@", (unsigned long)idx, title);
if ([title isEqualToString:@"Marquee Moon"]) {
*stop = YES;
}
}];
}
return 0;
}
Cómo funciona
enumerateObjectsUsingBlock:pasa objeto, índice y bandera stop.*stop = YEScorta el recorrido desde adentro del block.- Los tipos de los parámetros del block van escritos en la llamada.
Palabras clave y builtins usados aquí
BOOLNSArrayNSStringYESifintlongreturnunsignedvoid
El intento, en números
- Líneas
- 18
- Caracteres a escribir
- 442
- Tokens
- 94
- Ritmo de tres estrellas
- 60 tpm
Al ritmo de tres estrellas de 60 tokens por minuto, este intento toma unos 94 segundos.
Paso 2 de 3 en Enumeración; paso 14 de 27 en Fundamentos del lenguaje.