Мне нужно отслеживать целочисленные значения в массиве, а иногда мне нужно изменить значение в массиве.
Прямо сейчас я делаю это:
// Read an integer from the array
NSNumber* num = [NSNumber numberWithInteger:someInteger];
[numArray addObject:num];
Чтобы обновить значение:
// 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
Это так плохо. Так много объектов задействовано, и все потому, что NSNumber неизменен. Теперь я подумал, может быть, я должен уйти в старый добрый C и использовать CFMutableArrayRef? Могу ли я хранить простые значения NSInteger без всяких дополнительных затрат?