Objective-C Schnelle Aufzählung

Schnelle Aufzählung ist eine Funktion von Objective-C, die beim Aufzählen einer Sammlung hilft. Um also über die schnelle Aufzählung Bescheid zu wissen, müssen wir zuerst über die Sammlung Bescheid wissen, was im folgenden Abschnitt erläutert wird.

Sammlungen in Objective-C

Sammlungen sind grundlegende Konstrukte. Es wird verwendet, um andere Objekte zu halten und zu verwalten. Der gesamte Zweck einer Sammlung besteht darin, dass sie eine gängige Methode zum effizienten Speichern und Abrufen von Objekten bietet.

Es gibt verschiedene Arten von Sammlungen. Während sie alle den gleichen Zweck erfüllen, andere Objekte halten zu können, unterscheiden sie sich hauptsächlich in der Art und Weise, wie Objekte abgerufen werden. Die in Objective-C am häufigsten verwendeten Sammlungen sind -

  • NSSet
  • NSArray
  • NSDictionary
  • NSMutableSet
  • NSMutableArray
  • NSMutableDictionary

Wenn Sie mehr über diese Strukturen erfahren möchten, lesen Sie bitte die Datenspeicherung in Foundation Framework .

Syntax für schnelle Aufzählung

for (classType variable in collectionObject ) { 
  statements 
}

Hier ist ein Beispiel für eine schnelle Aufzählung.

#import <Foundation/Foundation.h>

int main() {
   NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
   NSArray *array = [[NSArray alloc]
   initWithObjects:@"string1", @"string2",@"string3",nil];
   
   for(NSString *aString in array) {
      NSLog(@"Value: %@",aString);
   }
   
   [pool drain];
   return 0;
}

Wenn wir nun das Programm kompilieren und ausführen, erhalten wir das folgende Ergebnis.

2013-09-28 06:26:22.835 demo[7426] Value: string1
2013-09-28 06:26:22.836 demo[7426] Value: string2
2013-09-28 06:26:22.836 demo[7426] Value: string3

Wie Sie in der Ausgabe sehen können, wird jedes der Objekte im Array in einer Reihenfolge gedruckt.

Schnelle Aufzählung rückwärts

for (classType variable in [collectionObject reverseObjectEnumerator] ) { 
  statements 
}

Hier ist ein Beispiel für reverseObjectEnumerator in der schnellen Aufzählung.

#import <Foundation/Foundation.h>

int main() {
   NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
   NSArray *array = [[NSArray alloc]
   initWithObjects:@"string1", @"string2",@"string3",nil];
   
   for(NSString *aString in [array reverseObjectEnumerator]) {
      NSLog(@"Value: %@",aString);
   }
   
   [pool drain];
   return 0;
}

Wenn wir nun das Programm kompilieren und ausführen, erhalten wir das folgende Ergebnis.

2013-09-28 06:27:51.025 demo[12742] Value: string3
2013-09-28 06:27:51.025 demo[12742] Value: string2
2013-09-28 06:27:51.025 demo[12742] Value: string1

Wie Sie in der Ausgabe sehen können, wird jedes der Objekte im Array gedruckt, jedoch in umgekehrter Reihenfolge wie bei der normalen schnellen Aufzählung.