2011-10-22 49 views
0

我在應用程序中獲得了約30000行數據,我希望將其添加到CSV文件並通過電子郵件發送給用戶。每個數據點目前有〜20個屬性,並且我將大約20多個值作爲擴展屬性添加到NSMutableDictionary中。這是很多數據,創建文件並將其附加到電子郵件需要大約10秒鐘。iOS5 NSMutableDictionary轉換爲逗號分隔值列表

我可以用

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

我可以遍歷字典這樣建立CSV值從常規屬性的字符串。我可以爲每個鍵重複構建一個字符串,但每次都會重新創建一個新字符串。在iOS中是否存在等同於StringBuilder或StringBuffer?

for(NSString *aKey in myDictionary){ 

    NSLog(aKey); 
    //append string 

} 

什麼是現有的性能和擴展屬性從一個NSMutableDictionary相結合,創造逗號分隔值的一個字符串的最好方法?

回答

3

在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); 
+0

謝謝你,成功了! –

+0

和你怎麼做刪除第一個逗號是額外的? –

3

這個職位是舊的,但爲尋找更清潔的解決方案,你可以這樣做:

NSArray *keys= [myDictionary allKeys]; 
NSString *csv = [keys componentsJoinedByString:@", "]; 
相關問題