0

我正在从网页中检索相当大量的文本,我想用它构建多个 NSMutableData 实例,每个实例都有一定的大小。我不确定的是,一旦第一个 NSMutableData 对象填满,如何转移到第二个 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

NSMutableData它变得“满”时,它将自动分配更多空间,因此您不必担心它会被填满。它更像一个列表而不是一个数组。

除非我遗漏了您要完成的工作,否则您不需要这样做。

于 2012-10-04T20:33:53.933 回答
0

initWithCapacity方法会立即分配请求的内存,并在需要时分配额外的内存。这datasize是初始所需的内存,如果分配的内存不足,它将自动分配更大的空间。

请查看NSMutableDataDocumentation。;)

于 2012-10-04T20:46:19.520 回答