Подтвердить что ты не робот

Скопируйте часть массива байтов NSData в другой тип NSData

У меня есть оригинальный тип NSData, который содержит, скажем, 100 байт. Я хочу получить 2 других типа NSData. Первый содержит первые 20 байтов из 100, а второй - другой. Их следует скопировать из оригинала NSData. Извините, если я не был таким ясным, но я довольно новичок в Objective-C.

4b9b3361

Ответ 1

Вы можете использовать NSData -(NSData *)subdataWithRange:(NSRange)range; для этого.
В вашем примере приведен код:

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

Конечно, диапазоны здесь сразу, вам, вероятно, придется делать вычисления, чтобы они работали для вашего фактического кода.

Ответ 2

 NSData *mainData = /*This is you actual Data*/

    NSData *fPart = [mainData subdataWithRange:NSMakeRange(0, 20)];
    NSData *sPart = [mainData subdataWithRange:NSMakeRange(20, 80)];

Вместо 80 вы можете использовать некоторые динамические данные lenth

Ответ 3

Swift 3

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

Из-за этого вопрос находится в самом верху Google Search. Я хочу написать здесь пример для быстрого