我希望能夠將我的Core Data實體導出爲CSV文件,以保存應用程序的數據。我google搜索,但沒有發現。如何將Core Data實體導出爲CSV文件
我的應用程序只使用一個具有五個屬性的實體。這些屬性都是字符串,除了一個十進制數字(用逗號或點)。我怎樣才能將這個實體導出所有的屬性?
我希望能夠將我的Core Data實體導出爲CSV文件,以保存應用程序的數據。我google搜索,但沒有發現。如何將Core Data實體導出爲CSV文件
我的應用程序只使用一個具有五個屬性的實體。這些屬性都是字符串,除了一個十進制數字(用逗號或點)。我怎樣才能將這個實體導出所有的屬性?
你必須創建一個方法做這樣的操作,像這樣:
NSString *separator = @", ";
NSString *cvs = @"";
for (NSObject *object in arrayOfObject) {
cvs = [NSString stringWithFormat:@"%@%@%@%@%@\n", cvs, [object att1], separator, [object att2], separator, [object att3]...];
}
//If you want to store in a file the CVS
[cvs writeToFile:pathToFile atomically:YES];
我建議你儘量避免,我使用了「追加」系統,這種操作產生內存泄漏。 而不是重寫同一變種一個stringWithFormat的,使用此方法已被寫得很好: Shortcuts in Objective-C to concatenate NSStrings
您也可以看看這個庫:https://github.com/davedelong/CHCSVParser 我從來沒有使用過它,但它看起來非常有幫助寫入/讀取CVS文件。
感謝您的回答!我會嘗試這種方法,我會看到鏈接的解析器;)一個問題:我必須聲明「arrayOfObject」?我很少用於構造,我已經得到了一些答案:) – matteodv 2010-12-14 15:57:11
是的,arrayOfObject是你從核心數據請求的對象的數組。 – bontoJR 2010-12-14 16:01:12
如何從核心數據獲取數組?我使用的屬性沒有數組,但與此代碼...例如,我的實體的名稱是實體,然後我使用Entity.attribute ...我真的不明白如何...... :(你能幫我澄清我的想法呢?謝謝! – matteodv 2010-12-14 16:13:34
有人有其他解決方案嗎? – matteodv 2010-12-17 21:08:45