NSArray e NSMutableArray

13 settembre 2017

Un array rappresenta una collezione ordinata di oggetti ed è rappresentato dalla classe NSArray.

Abbiamo già accennato in precedenza alla sintassi per creare un array di stringhe in Objective-C:

NSArray * fruits = @[@"Apple", @"Orange", @"Kiki"];

Possiamo accedere a un elemento dell’array utilizzando la tecnica del subscripting, ovvero scrivendo fruits[0] per accedere alla prima posizione.

Con l’introduzione di Xcode 7, è possibile definire il tipo dell’elemento contenuto nell’array, sfruttando la sintassi seguente:

NSArray<NSString*> * fruits = @[@"Apple", @"Orange", @“Kiki"];

In questo modo, stiamo indicando al compilatore che fruits non è semplicemente un array, ma un array di NSString. Quindi, se ad esempio aggiungeremo una riga di questo tipo:

NSNumber * number = fruits[0];

otterremo un warning poiché il compilatore sa che stiamo facendo puntare un referenza di tipo NSNumber a un oggetto di tipo NSString.

Un NSArray non può essere modificato. Se vogliamo un array a cui si possano aggiungere o rimuovere oggetti dobbiamo utilizzare NSMutableArray. Ecco un esempio:

        NSMutableArray<NSString*> * fruits = [NSMutableArray array];
        [fruits addObject:@"Apple"];
        [fruits addObject:@"Orange"];
        [fruits addObject:@"Kiwi"];
        
        NSLog(@"fruits.count: %lu", (unsigned long)fruits.count);
        [fruits removeObject:@"Apple"];
        NSLog(@"fruits.count: %lu", (unsigned long)fruits.count);
        [fruits removeAllObjects];
        NSLog(@"fruits.count: %lu", (unsigned long)fruits.count);

L’output sarà il seguente:

3
2
0

Tutte le lezioni

1 ... 19 20 21

Se vuoi aggiornamenti su NSArray e NSMutableArray inserisci la tua e-mail nel box qui sotto:
Tags:
 
X
Se vuoi aggiornamenti su NSArray e NSMutableArray

inserisci la tua e-mail nel box qui sotto:

Ho letto e acconsento l'informativa sulla privacy

Acconsento al trattamento di cui al punto 3 dell'informativa sulla privacy