Если вы хотите создать массив целых чисел, можете ли вы использовать NSInteger? Вам нужно использовать NSNumber? Если да, то почему?
ios
objective-c
нейромант
источник
источник
NSArray
, я уверен, что вы не почувствуете падения производительности.Массив C:
Массив Objective-C:
Быстрый массив:
Это тоже правильно:
NB: массивы строго типизированы в Swift; в этом случае компилятор делает вывод из содержимого, что массив является массивом целых чисел. Вы также можете использовать этот синтаксис явного типа:
Если вам нужен массив Double, вы должны использовать:
или:
источник
Если вы хотите использовать NSArray, вам понадобится класс Objective-C, чтобы поместить в него - отсюда требование NSNumber.
Тем не менее, Obj-C по-прежнему является C, поэтому вы можете использовать обычные массивы C и хранить обычные int вместо NSNumbers, если вам нужно.
источник
Вы можете использовать CFArray вместо NSArray. Вот статья, объясняющая, как это сделать.
То же самое относится и к версии CoreFoundation других контейнеров.
источник
Я создал простую оболочку Objective C вокруг старого доброго массива C для более удобного использования: https://gist.github.com/4705733
источник
Если порядок ваших целых чисел не требуется, и если есть только уникальные значения
вы также можете использовать NSIndexSet или NSMutableIndexSet. Вы сможете легко добавлять и удалять целые числа или проверять, содержит ли ваш массив целое число с
Проверьте документацию для получения дополнительной информации.
источник
NSSet
(и с использованием целых чисел, заключенных вNSNumber
)?Я думаю, что использовать NSNumbers намного проще. Это все, что вам нужно сделать:
источник
for
или просто другой массив для чисел, а затемarrayWithArray
.