2009-11-03 7 views

Respuesta

34
for (WhateverYourClassNameIs *whateverNameYouWant in yourArrayName) { 
    [whateverNameYouWant performSelector]; 
    more code here; 
} 

Se llama enumeración rápido y era una característica nueva con Objective C 2.0, que está disponible en el iPhone.

+1

Esta es una manera mejor gestión de memoria para hacer cosas, pero me gusta la publicación de Dave DeLong sobre Predicados. –

17

yo probablemente sólo tiene que utilizar un predicado, lo que sería algo como esto:

NSArray * filtered = [myArray filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"aProperty = %@", @"someValue"]]; 
NSLog(@"number of items where aProperty = someValue: %d", [filtered count]); 

Editar: Este código es funcionalmente equivalente a:

NSMutableArray * filtered = [NSMutableArray array]; 
for (MyCustomObject * object in myArray) { 
    if ([[object aProperty] isEqual:@"someValue"]) { 
    [filtered addObject:object]; 
    } 
} 
+0

¿Te importa dar una pequeña explicación de este pedazo de código? Soy un novato de iPhone y un novato de Obj-C. Tu código parece pequeño e impresionante, pero odio usar cosas que no entiendo. –

+1

lea los Documentos para 'filteredArrayUsingPredicate' y' NSPredicate predicateWithFormat' – mga

+1

@Pselus - respuesta editada –

Cuestiones relacionadas