将NSData字节数组的一部分复制到另一个NSData类型

时间:2012-01-20 09:46:56

标签: objective-c nsdata

我有一个原始NSData类型,其中包含100个字节。我想获得另外两种NSData类型。第一个包含100的前20个字节,第二个包含另外80个。 应从原始NSData复制它们。对不起,如果我不是那么清楚,但我对Objective-C很新。

3 个答案:

答案 0 :(得分:60)

您可以使用NSData的{​​{1}}来做到这一点 在您的示例中,这是一些代码:

-(NSData *)subdataWithRange:(NSRange)range;

当然,这里的范围很快,您可能需要进行计算,以使其适用于您的实际代码。

答案 1 :(得分:3)

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

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

相反,你可以使用一些动态的数据长度

答案 2 :(得分:2)

Swift 3

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

由于这个问题是谷歌搜索的顶部,我想在这里写一个swift的例子