Мое воспоминание о java.nio.ByteBuffer
(от работы с Java много месяцев назад) таково, что ByteBuffer
реализует последовательное чтение / запись в массив байтов. Это аналогично NSInputStream
, поддерживаемому NSData
(для ввода):
NSInputStream *inputStream = [NSInputStream inputStreamwithData:myData]; //assuming myData is NSData*
float myFloat;
if([inputStream hasBytesAvailable]) { // NO if you've already read to the end of myData
NSInteger bytesRead = [inputStream read:&myFloat maxLength:sizeof(myFloat)];
NSAssert(bytesRead == sizeof(myFloat);
}
Вы можете сделать что-то подобное с NSOutputStream
записью в NSData
.