(ios) ios开发,如何在内存不会爆掉的情况下往字符串添加大量数据?

如题,我想往字符串中动态追加大量的数据,但是内存会爆掉,请问这种情况该怎么处理?
代码如下:

NSString *pointSum = [[NSString alloc]init]; //faceNum大约为20000
for int x = 0; x < faceNum ; x++ { NSLog@"运行到%d行",x; NSString *sumString; if sumString == nil { sumString = [[NSString alloc]init]; } //假设字符串等于入选 sumString = @"3213213213gdsdsgdsgdsfdsfewewfdsfdsggfewfewf21321"; // NSLog@"%@",sumString; pointSum = [NSString stringWithFormat:@"%@%@",pointSum,sumString]; }

可以用数组读取来然后取的时候再拼接到一起,你应该说明这个场景是怎么出现的

#####如果是像电子书的字符串,完全写入文本,或者写入NSData
#####如果是想要一个很长的字符串,加入要给服务器的话,直接把文本NSData传给服务器,服务器再次解密即可。
#####如果是像电子书显示完的话,可以分页读啊,并不一定一下子读完。

严重内存泄漏,无数个sumString初始化的地址没有被访问

NSMutableString *pointSum = [[NSMutableString alloc]init];

//faceNum大约为20000
for int x = 0; x < 20000 ; x++ {

 NSLog@"运行到%d行",x; NSString *sumString;
if sumString == nil { sumString = [[NSString alloc]init];
}
//假设字符串等于入选
sumString = @"3213213213gdsdsgdsgdsfdsfewewfdsfdsggfewfewf21321"; // NSLog@"%@",sumString;
[pointSum appendString:sumString];

}

发表评论

电子邮件地址不会被公开。 必填项已用*标注