Pregunta

Estoy intentando crear una aplicación para iPhone, aunque soy completamente nuevo en Obj-C.Para un problema, usaría ByteBuffer en Java, pero no veo ninguna clase apropiada en la documentación de Apple.Así que probablemente tendré que implementarlo por mi cuenta.

Mi pregunta es cómo hacerlo mejor:

  • ¿Existe una clase similar en Obj-C?(Esa sería la mejor solución;))
  • ¿Debo hacerlo usando clases Obj-C como NSData?
  • ¿O debería quedarme con el código C simple?
¿Fue útil?

Solución

Es posible que desee NSMutableData.

Otros consejos

Mi recuerdo de java.nio.ByteBuffer (de trabajar con Java hace muchas lunas) es que ByteBuffer implementa lecturas secuenciales / escribe a una matriz de bytes. Esto es análogo a un NSInputStream respaldado por una NSData (para entrada):

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);
}

Puede hacer algo similar con un NSOutputStream escribir en un <=>.

Tengo una pregunta similar. Ilya me señaló aquí con su respuesta. .

Mi objetivo es implementar una versión OBJ-C completamente funcional de Java.nio.bytebuffer.Solo quería saber qué debería usar para llegar allí

Esa será tu clase personalizada.

Para mi caso creo NSInputStream y NSOutputStream debería ser usado.seguro que no NSMutableData como cómo es la respuesta aceptada y mayoritariamente votada.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top