2013-04-22 48 views
1

我想開發用戶可以以應用程序格式導出數據並可以通過電子郵件發送數據文件的功能。現在用戶從應用程序中刪除數據。然後它進入郵件並打開文件。有一個選項可以在應用程序中打開該文件,當它被按下時,刪除的內容會再次顯示在應用程序中。創建數據的自定義格式文件並在應用程序格式功能中實現導出並在應用程序的文件中打開

我知道一點,我必須實現自定義網址,但我很困惑應該在sqlite或核心數據中創建哪個數據庫以及如何以應用程序格式導出數據。另外如何製作自定義格式文件。

這個概念是從分鐘採取應用程序。 https://itunes.apple.com/us/app/minutetaker-meeting-minutes/id519543986?mt=8

請參閱附件中的一些圖片以清楚地瞭解我需要實施的內容。

enter image description here

請幫助。 在此先感謝!

回答

2

首先,研究CFBundleDocumentTypes這是用於指定您的應用可以理解的文檔類型的機制。

此外,自定義文件類型不是特別的或神祕的,它們只是一個導出的數據集(二進制,XML,JSON,純文本等),它的格式是您的應用程序理解的。通常您的自定義導出的數據文件將有一個特殊的擴展名,它允許操作系統知道如何處理它們。您應該也可以編碼一些標題信息,以便檢查您是否瞭解文件內容(它確實是由您的應用程序創建的,並且版本號與例如匹配)。您可以創建導出文件,只需構建數據的NSDictionarywriteToFile:atomically:即可,但使用的確切方法取決於數據的內容以及如何將其存儲在應用程序中。

如果您將數據存儲在應用程序的CoreData中,那麼您可以簡單地通過電子郵件發送磁盤上的數據存儲文件(在發送之前考慮複製並重命名它)。 CoreData已經擁有版本信息和一個處理版本衝突的系統(從舊版本升級並在版本不兼容時拋出異常)。

你不應該做的是決定如何根據你的要求導出和共享數據,在應用程序內存儲數據。這是兩件完全不同的事情。根據應用程序在運行時執行的操作選擇內部數據存儲,並根據實際需要保存的數據選擇導出的數據格式,以重建數據集。 CoreData非常適合您的應用內存儲,但是XML文件更有可能成爲導出數據的更好解決方案,因爲它可以很好地控制導出的內容以及添加其他元數據的大量選項。

+0

感謝您的回答。你可以告訴我是否需要使用sqite或coredata,否則任何數據庫都可以使用。 – Gypsa 2013-04-22 07:08:33

+0

你能提供一些代碼幫助嗎? – Gypsa 2013-04-22 07:17:46

相關問題