0

我有一个问题:我使用下面的代码从NSData获取数据,但我想从[0;2048] bytes获取数据。如果我的数据 > 2048*强文本*,它可以运行良好,但如果我的data < 2048,它会出错。data < 2048所以如果我有足够的2048 字节,我想最后添加更多的空间。你能帮助我吗?非常感谢。

 NSData *data = [NSData dataWithBytes:[arrayText UTF8String] length:[arrayText lengthOfBytesUsingEncoding:NSUTF8StringEncoding]];
 NSData *datawrite = [data subdataWithRange:NSMakeRange(0, 2048)];

data > 2048 bytes如果data < 2048 bytes我的 MAC 应用程序挂起,上面的代码可以正常工作。请给我任何建议。提前致谢

4

1 回答 1

0

好的,这将从data. 如果结果小于 2048 字节,则新数据将被填充到 2048 字节。

NSMutableData * datawrite = [ data subdataWithRange:(NSRange){ 0, MIN( 2048, data.length ) } ] mutableCopy ] ;
[ datawrite setLength:2048 ] ;

但是:你能告诉我们更广泛的应用吗?这似乎是一个奇怪的用例,我想了解更多。

于 2013-08-30T05:06:41.187 回答