0

Webページからかなり大量のテキストを取得していますが、それぞれ特定のサイズの複数のNSMutableDataインスタンスを作成したいと思います。私がよくわからないのは、最初のオブジェクトがいっぱいになったら、2番目のNSMutableDataオブジェクトに移動する方法です。私がやりたいことはこれに似ています:

NSInteger dataSize = 1000;
data1 = [[NSMutableData alloc] initWithCapacity:dataSize];
data2 = [[NSMutableData alloc] initWithCapacity:dataSize];
data2 = [[NSMutableData alloc] initWithCapacity:dataSize];

if (//data3 is full) {
    [data2 appendData:data];
} else if (// Data2 is full) {
    [data1 appendData:data];
} else {
    [data3 appendData:data];
}

またはそれらの線に沿って何か他のもの。私がこれをどのように行うかについての提案はありますか?NSMutableDataオブジェクトが容量に達しているかどうかをどのように判断しますか?

4

2 に答える 2

0

'full'になると、自動的により多くのNSMutableDataスペースが割り当てられるため、スペースがいっぱいになることを心配する必要はありません。配列というよりはリストのように機能します。

あなたが成し遂げようとしていることについて私が何かを見逃していない限り、あなたはこれをする必要はないはずです。

于 2012-10-04T20:33:53.933 に答える
0

このinitWithCapacityメソッドは、要求されたメモリをすぐに割り当て、必要に応じて追加のメモリが割り当てられます。datasizeこれが最初に必要なメモリです。割り当てられたメモリが十分でない場合は、より大きなスペースが自動的に割り当てられます。

NSMutableDataDocumentationをご覧ください。;)

于 2012-10-04T20:46:19.520 に答える