我正在从网页中检索相当大量的文本,我想用它构建多个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对象是否处于容量状态?
答案 0 :(得分:0)
NSMutableData
会在“满”时自动分配更多空间,因此您不必担心它会填满。它更像是一个列表而不是一个数组。
除非我遗漏了你想要完成的事情,否则你不应该这样做。
答案 1 :(得分:0)
initWithCapacity
方法立即分配请求的内存,如果需要则分配额外的内存。这里datasize
是初始需要的内存,如果分配的内存不足则会自动分配更大的空间。
请查看NSMutableDataDocumentation。 ;)