元のNSData
タイプに、たとえば100バイトが含まれています。他に2つのNSData
タイプを取得したい。最初のものは100の最初の20バイトを含み、2番目のものは他の80バイトを含んでいます。それらは元のNSData
からコピーする必要があります。よくわからなかったら申し訳ありませんが、Objective-Cはかなり新しいです。
これを行うには、NSData
の-(NSData *)subdataWithRange:(NSRange)range;
を使用できます。
あなたの例から、ここにいくつかのコードがあります:
// original data in myData
NSData *d1 = [myData subdataWithRange:NSMakeRange(0, 20)];
NSData *d2 = [myData subdataWithRange:NSMakeRange(20, 80)];
もちろん、範囲はすぐここにあります。実際のコードで機能させるには、おそらく計算を行う必要があります。
Swift
let subdata1 = data?.subdata(in: 0..<20)
let subdata2 = data?.subdata(in: 20..<80)
このため、質問はGoogle検索の一番上にあります。ここでSwiftの例を書きます
NSData *mainData = /*This is you actual Data*/
NSData *fPart = [mainData subdataWithRange:NSMakeRange(0, 20)];
NSData *sPart = [mainData subdataWithRange:NSMakeRange(20, 80)];
代わりに80を使用すると、データ長などの動的な値を使用できます