Fast Enumeration
Die schnelle Enumeration (Fast Enumeration) ist eine kleine Verbesserung, die mit OS X 10.5 (Leopard) eingeführt wurde und nur ab diesem System oder höher funktioniert. Der grundlegende Unterschied ist eine Vereinfachung des Syntax. Ausserdem sind erheblich weniger Anweisungen nötig.
Die schnelle Enumeration (Fast Enumeration) ist eine kleine Verbesserung, die mit OS X 10.5 (Leopard) eingeführt wurde und nur ab diesem System oder höher funktioniert. Der grundlegende Unterschied ist eine Vereinfachung des Syntax. Ausserdem sind erheblich weniger Anweisungen nötig.
|
NSArray
*myArray; myArray = [NSArray arrayWithObjects:@"Alpha",@"Beta",@"Gamma",nil]; for(NSString *myText in myArray) { NSLog(myText); } |
Anstelle der while-Schleife verrichtet nun eine for-Schleife ihren Dienst, das Resultat ist aber unverändert. Jedes Objekt im Array wird angesprochen und auf der Console ausgegeben. Und auch mit Objekten aus eigenen Klasse funktioniert die fast Enumeration von Objective-C. Das folgende Beispiel verwendet wieder die schon bekannte Klasse Person.
|
Person
*myPerson1 = [[Person alloc] init]; [myPerson1 setName:@"Huber"]; [myPerson1 setVorname:@"Hans"]; [myPerson1 setAlter:32]; Person *myPerson2 = [[Person alloc] init]; [myPerson2 setName:@"Adrian"]; [myPerson2 setVorname:@"Fischer"]; [myPerson2 setAlter:55]; NSArray *myArray; myArray = [NSArray arrayWithObjects:myPerson1,myPerson2,nil]; for(Person *aPerson in myArray) { NSLog([aPerson name]); NSLog([aPerson vorname]); } |