2009-11-03 4 views

Antwort

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

Es heißt schnelle Aufzählung und war eine neue Funktion mit Objective C 2.0, die auf dem iPhone verfügbar ist.

+1

Dies ist ein besserer Weg, Speicherverwaltung Dinge tun, aber ich mag Dave DeLongs Post über Predicates. –

17

Ich würde wahrscheinlich ein Prädikat benutzen Sie einfach, was so etwas wie dieses würde:

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

Edit: Dieser Code funktional äquivalent zu:

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

Möchten Sie eine kleine Erklärung für diesen Codeabschnitt geben? Ich bin ein iPhone-Neuling und ein Obj-C-Neuling. Ihr Code sieht klein und großartig aus, aber ich hasse es, Dinge zu benutzen, die ich nicht verstehe. –

+1

lesen Sie die Docs für 'filteredArrayUsingPredicate' und' NSPredicate predicateWithFormat' – mga

+1

@Pselus - bearbeitete Antwort –

Verwandte Themen