Получение int из необработанных данных неоднозначно: откуда данные берутся? Какой размер вы хотите, чтобы ваш int? Вы хотите, чтобы они были подписаны или не подписаны? Какой порядок байтов вы ожидаете?
Итак, вот один сценарий: данные, которые вы получаете, поступают из потока, закодированного внешним процессом, который подает 32-разрядные целые числа со знаком в порядке с прямым порядком байтов. Вот как это можно сделать:
NSData *dataFromStream = functionThatReturnsNSData();
SInt32 *signedInt32pointer = [dataFromStream bytes];
SInt32 unSwappedInt32 = *signedInt32pointer;
SInt32 reorderedInt32 = CFSwapInt32BigToHost(unSwappedInt32);
RTFM Разделы, посвященные упорядочению байтов и замене байтов в Руководстве по программированию управления памятью для Core Foundation.