Objective-C Language Accesso agli elementi


Esempio

NSArray *myColors = @[@"Red", @"Green", @"Blue", @"Yellow"];
// Preceding is the preferred equivalent to [NSArray arrayWithObjects:...]

Ottenere un singolo oggetto

L' objectAtIndex: metodo fornisce un singolo oggetto. Il primo oggetto in un NSArray è l'indice 0. Poiché un NSArray può essere omogeneo (contenente diversi tipi di oggetti), il tipo restituito è id ("qualsiasi oggetto"). (Un id può essere assegnato a una variabile di qualsiasi altro tipo di oggetto.) Importante, gli NSArray possono contenere solo oggetti. Non possono contenere valori come int .

NSUInteger idx = 2;
NSString *color = [myColors objectAtIndex:idx];
// color now points to the string @"Green"

Clang fornisce una migliore sintassi del pedice come parte della sua funzionalità letterale di array :

NSString *color = myColors[idx];

Entrambi generano un'eccezione se l'indice passato è inferiore a 0 o maggiore di count - 1 .

Primo e ultimo elemento

NSString *firstColor = myColors.firstObject;
NSString *lastColor = myColors.lastObject;

Il firstObject e lastObject sono proprietà calcolate e restituiscono nil piuttosto che crash per gli array vuoti. Per gli array di singoli elementi restituiscono lo stesso oggetto. Sebbene, il metodo firstObject non sia stato introdotto in NSArray fino a iOS 4.0.

NSArray *empty = @[]
id notAnObject = empty.firstObject;    // Returns `nil`
id kaboom = empty[0];    // Crashes; index out of bounds