首页 > 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];
        
    }

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];

}


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


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

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