В настоящее время я занимаюсь обработкой данных. Я принимаю потоки байтов NSData lloonngg, а затем анализирую эти данные. Разбор тривиален. Тем не менее, я должен имитировать потребление данных, когда я анализирую с помощью не очень элегантной бухгалтерии. Вот как выглядит типичный метод в категории NData, которую я реализовал:
// Получение 32-разрядного числа с прямым порядком байтов
- (uint32_t) getInt32OffsetIncrement: (NSUInteger *) смещение {
uint32_t unused;
NSRange myRange = NSMakeRange(*offset, sizeof(unused));
[self getBytes:&unused range:myRange];
*offset += sizeof(unused);
return CFSwapInt32LittleToHost(unused);
}
Как видите, я извлекаю данные, а затем перехожу к "указателю" NSRange в поток данных. Когда я закончу, я израсходовал весь поток данных.
Я пропустил какие-либо методы в NSData, которые могут одновременно извлекать данные и перемещать указатель по длине потока данных?
Cheers,
Дуг