我要添加到CSV文件并通过电子邮件发送给用户的应用程序中有约30000行数据。每个数据点目前具有〜20个属性,我将添加〜20个更多的值作为扩展属性,存储在NSMutableDictionary中。这是很多数据,创建文件并将其附加到电子邮件已经花费了大约10秒钟。

我可以使用以下常规属性构建一串CSV值

[NSString stringWithFormat:@"%f,%f,%f",prop1,prop2,prop3 ];


我可以像这样迭代字典。我可以为每个键重复构建一个字符串,但这每次都会重新创建一个新字符串。 iOS中是否有等效的StringBuilder或StringBuffer?

for(NSString *aKey in myDictionary){

    NSLog(aKey);
   //append string

}


合并NSMutableDictionary中的现有属性和扩展属性以创建单个字符串的逗号分隔值的最佳方法是什么?

最佳答案

在for循环外初始化一个可变字符串,然后根据需要附加它。

NSMutableString *large_CSV_String = [[NSMutableString alloc] init];
for(NSString *aKey in myDictionary){

    // Add something from the key?? Your format here.
    [large_CSV_String appendFormat:@",%@",aKey];

}
NSLog(@"%@",large_CSV_String);

10-07 23:12