Tengo una original NSData tipo que contiene digamos de 100 bytes. Quiero conseguir los otros 2 NSData tipos. La primera contiene los primeros 20 bytes de la 100, y el segundo que contiene el resto de los 80.
Deben ser copiados de los originales NSData. Lo siento si yo no estaba tan claro, pero yo soy bastante nuevo con Objective-C.

  • uso NSData‘s -(NSData *)subdataWithRange:(NSRange)range;

3 Comentarios

  1. 60

    Puede utilizar NSData‘s -(NSData *)subdataWithRange:(NSRange)range; a hacer eso.

    A partir de su ejemplo, aquí está el código :

    //original data in myData
    NSData *d1 = [myData subdataWithRange:NSMakeRange(0, 20)];
    NSData *d2 = [myData subdataWithRange:NSMakeRange(20, 80)];

    De curso, los rangos son inmediatos aquí, usted probablemente tendrá que hacer cálculos, para realizar un trabajo para el código real.

    • Gracias Vince, eres tan útil para mí !
  2. 3

    Swift 3

    let subdata1 = data?.subdata(in: 0..<20)
    let subdata2 = data?.subdata(in: 20..<80)

    Debido a que esta es la pregunta que está en la parte superior de la Búsqueda de Google voy a escribir aquí un ejemplo para swift

  3. 3
     NSData *mainData = /*This is you actual Data*/
    
     NSData *fPart = [mainData subdataWithRange:NSMakeRange(0, 20)];
     NSData *sPart = [mainData subdataWithRange:NSMakeRange(20, 80)];

    Lugar 80, usted puede usar algunos dinámico – como la longitud de los datos

    • Por qué no obtener 20-79 años? Estás seguro?
    • No te preocupes… estoy seguro de que he hecho lo mismo más de una vez, y el hecho de que usted haya notado que significa que es hora de limpiar obsoletos comentarios de todos modos. Saludos.

Dejar respuesta

Please enter your comment!
Please enter your name here