Попробуйте это:
id *numArray = calloc(sizeof(id), yourArray.count);
[yourArray getObjects: numArray range: NSMakeRange(0, yourArray.count)];
Это дает вам C-массив NSNumbers.Альтернатива, которая дает вам целые числа:
int *numArray = calloc(sizeof(int), yourArray.count);
for (int i = 0; i< yourArray.count; i++)
numArray[i] = [[yourArray objectAtIndex: i] intValue];
Невозможно указать yourArray, чтобы он возвращал C-массив целых чисел напрямую.NSArray не имеет понятия содержимого, за исключением того, что они являются идентификаторами, и должны быть сохранены и выпущены в нужное время.В большинстве случаев он может возвращать C-массив идентификаторов, как в моем первом примере.
Вы, вероятно, могли бы написать свой собственный простой класс массива, который напрямую содержит целые числа (или числа с плавающей запятой или двойные числа и т. Д.), Во внутреннемМассив C, но для этого нет класса акций.