我有一个原始的NSData
类型,假设它包含100个字节。我想得到另外两种NSData
类型。第一个包含100的前20个字节,第二个包含其他80个字节。它们应该从原始NSData
复制。如果我说得不够清楚,很抱歉,但我对Objective-C还很陌生。
发布于 2012-01-20 09:55:10
你可以使用NSData
的-(NSData *)subdataWithRange:(NSRange)range;
来做这件事。
下面是您的示例中的一些代码:
// original data in myData
NSData *d1 = [myData subdataWithRange:NSMakeRange(0, 20)];
NSData *d2 = [myData subdataWithRange:NSMakeRange(20, 80)];
当然,这里的范围是直接的,您可能需要进行计算,才能使其适用于您的实际代码。
发布于 2012-01-20 09:55:20
NSData *mainData = /*This is you actual Data*/
NSData *fPart = [mainData subdataWithRange:NSMakeRange(0, 20)];
NSData *sPart = [mainData subdataWithRange:NSMakeRange(20, 80)];
取而代之的是80,你可以使用一些动态的数据长度
发布于 2016-12-18 22:21:21
Swift 3
let subdata1 = data?.subdata(in: 0..<20)
let subdata2 = data?.subdata(in: 20..<80)
由于这个问题在Google搜索的顶部,我想在这里为swift写一个例子
https://stackoverflow.com/questions/8939419
复制相似问题