/ / Je v tomto prípade inteligentnejšie používať CFMeableArrayRef? - cieľ-c, c, polia

Je inteligentnejšie použiť CFMutableArrayRef v tomto prípade? - objektov c, c, polí

Musím sledovať celé hodnoty v poli a niekedy musím zmeniť hodnotu v poli.

Práve teraz:

// Read an integer from the array
NSNumber* num = [NSNumber numberWithInteger:someInteger];
[numArray addObject:num];

Aktualizácia hodnoty:

// Update an integer in the array
NSNumber* num = [numArray lastObject]; // get old
NSInteger numInt = [numInt integerValue]; // convert
NSNumber* newNum = [NSNumber numberWithInteger:numInt + someAddition]; // create new
[numArray removeLastObject]; // remove old
[numArray addObject:newNum]; // set new

To je také zlé. Toľko zapojených objektov a to všetko preto, že číslo NSNumber je nemenné. Teraz som si myslel, že musím odstúpiť do dobrého starého C a použiť CFMutableArrayRef? Môžem tam ukladať jednoduché hodnoty NSInteger bez toho, aby boli všetky tieto režijné náklady?

odpovede:

1 pre odpoveď č. 1

Môžete použiť príkaz ReplaObjectAtIndex: withObject:

[numArray replaceObjectAtIndex:[array count]-1 withObject:newNum];

Je to lepšie ako vaša metóda