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