2011-03-05 60 views
0

我正在製作我的第一個iOS應用程序,而且我正面臨我的第一個(小)問題。iOS中的多語言文檔(RTF):文件,SQLite,核心數據?怎麼樣?

應用程序將是一個非常經典的iOS UI體驗:我的意思是,表視圖,標籤欄,按下控制器等顯示文檔(從RTF文件已存在),音頻和視頻文件。

我RTFS有混合的語言,所有的iOS支持,我覺得這是很重要的,不是嗎?

考慮到音頻和視頻將明顯存放在沙箱中的文件目錄,我不那麼肯定對RTF。我想讓它在我的應用程序中使用NSAttributedString(可以響應initWithRtf消息。

我想那之後我將不得不將它加載到一個UIWebView?或者只是將這個NSAttributedString顯示成textview將保留它的格式?

但我不知道如何運送我的應用程序與核心數據預填充數據庫。

因此,這裏是我的問題:

  • 這是個好主意來存儲核心數據的RTFS?它是否比簡單的UIWebView更快,我將直接從文檔文件夾加載RTF文件?也許SQLite更適合我的情況?
  • 如何預填充數據庫到我的應用程序?
  • 關於將多種語言加入我的RTF的任何具體考慮事項? (將拉丁語和非拉丁語寫入同一個文件中)。

非常感謝!再見。

+0

目前尚不清楚在Core Data中存儲RTF的動機。這似乎是一個錯誤。你能否澄清你爲什麼這樣想做事? – Jim 2011-03-05 18:48:02

+0

我正在考慮這樣做,因爲我認爲RTF渲染不會被反應快速通過UIWebView加載。但似乎我錯了,無論如何我都會測試它。 – Mouss 2011-03-05 19:27:09

回答

2

在我的應用程序中使用可響應initWithRtf消息的NSAttributedString獲取它。

這是行不通的。 -initWithRTF:documentAttributes:目前僅在OS X上可用。要在iOS上將RTF文件轉換爲NSAttributedString,需要手動解析文件(我們希望iOS 5的更改)。

我想那之後我將不得不加載到UIWebView?或者只是將這個NSAttributedString顯示成textview將保留它的格式?

UIWebView無法顯示NSAttributedString s。 UITextView也不能。你將不得不使用核心文本功能來自己繪製文本。或從頭開始使用HTML,並在Web視圖中顯示文本。

將這些RTF存儲在覈心數據中是一個好主意嗎?它是否比簡單的UIWebView更快,我將直接從文檔文件夾加載RTF文件?也許SQLite更適合我的情況?

有什麼不對純文本文件?這將是我的第一選擇,因爲它似乎是最簡單的。如果您不知道是否需要優化,則不必擔心優化。但既然你可以用Core Data或普通的SQLite存儲任意的二進制數據,這絕對有可能。

如何預填充數據庫到我的應用程序?

只需在應用程序包中包含Core Data數據存儲區文件即可。如果需要寫入該數據庫,則代碼需要在首次啓動時將該文件從該軟件包複製到應用程序的Documents目錄。

+0

太好了,非常感謝! 我在推特上關注你,閱讀你的博客,並且我有一個打開你的三月最佳iOS鏈接的標籤! 我只是簡單地使用純文件來實現它,你是對的,我不必考慮優化我甚至沒有測試過的東西...... – Mouss 2011-03-05 18:28:42