typestar

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

  1. enumerateObjectsUsingBlock: pasa objeto, índice y bandera stop.
  2. *stop = YES corta el recorrido desde adentro del block.
  3. Los tipos de los parámetros del block van escritos en la llamada.

Palabras clave y builtins usados aquí

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.

Escribe este fragmento

Paso 2 de 3 en Enumeración; paso 14 de 27 en Fundamentos del lenguaje.

← Anterior Siguiente →