Bu cevap yukarıdaki diğer cevaplar çok benzer, ama öğretici NSData geri bir int32_t [] dizisine bayt döküm ile oynamak bulundu. Bu kod, küçük bir ender işlemciye (benim durumumdaki x64) doğru çalışır, ancak büyük endian (PPC) üzerinde sessizce yanlış olur çünkü bayt gösterimi büyük-endian olur.
int32_t raw_data[] = {0,1,2,3,4,5,6,7,8,9,10};
printf("raw_data has %d elements\n", sizeof(raw_data)/sizeof(*raw_data));
NSData *data = [NSData dataWithBytes:(void*)raw_data length:sizeof(raw_data)];
printf("data has %d bytes\n", [data length]);
int32_t *int_data_out = (int32_t*) [data bytes];
for (int i=0; i<[data length]/4; ++i)
printf("int %d = %d\n", i, int_data_out[i]);
[data release];
için değiştiren koddur. Bu kodu projemde kullanıyorum ve iyi çalışıyor. – Justin808