1

lllooonnngggNSMutableDataインスタンスがあります。このデータが重複しないサブ範囲を他のオブジェクトにフィードしたいと思います。NSData / NSMutableDataのドキュメントをよく読んだのですが、これを行うための適切な方法を完全に把握していません。

たとえば、NSMutableData replaceBytesInRange:withBytes:は理想的に見えますが、[mySourceHumungousDatabytes]によって返されるバイトストリームの先頭を超えた場所を指すwithBytes:パラメーターが必要です。

私はハックっぽくなり、純粋なCにドロップしてこれを行うことができますが、それはしたくないです。

乾杯、ダグ

4

2 に答える 2

3

インスタンスで試してくださいsubdataWithRange:NSDataこれにより、の目的のバイトを置き換える前に、必要に応じてデータをスライスできるようになりますNSMutableData

于 2009-10-08T01:39:05.957 に答える
1

提案されているように、subdataWithRange:メッセージを使用するか、を使用getBytes:range:してバッファにコピーしてから、コピーされた生のバッファを渡すことができます。これらのどちらでも同じ結果が得られます。ただし、データを一時的にコピーしないようにするには、「Cスタイル」に移動してchar *、[n]バイトを必要な場所にインクリメントし、それを渡すことができます。

于 2009-10-08T01:41:40.583 に答える