2012-02-06 74 views
3

我正在研究UIDocument應用程序,我想在打開文檔之前向用戶顯示文檔預覽。當文檔關閉時,我可以將該預覽呈現爲圖像。但我應該在哪裏保存該圖像?在其他文件中?或者有沒有指定的方法來做到這一點?在哪裏存儲UIDocument的預覽?

現在我正在開發沒有iCloud支持。但我想要一個可以與iCloud一起使用的解決方案。 UIDocumentUIManagedDocument。但是將圖像保存到數據庫中會使其毫無意義。因爲那時我必須先打開文檔才能看到預覽。

你在這裏推薦什麼?在哪裏預覽UIManagedDocument

回答

1

您應該保存下(app_directory)/圖書館/緩存的圖像。這樣iCloud不會影響你的應用程序。

+3

但是這樣。如果我將文檔移動到iCloud中。預覽在本機上是本地的。它不通過iCloud進行同步。這意味着我必須在每個客戶端重新生成預覽。爲此我必須打開/關閉每個文檔一次。 – V1ru8 2012-02-07 09:44:27

+0

然後您應該將其保存在(app_directory)/ Documents中。該文件夾中的所有內容都會自動與iCloud同步。 – Jorsh 2012-02-08 18:55:30

+0

很好的解決方案似乎是完美的。但是我將使用/ Library/Caches,然後重新生成所有設備上的所有預覽。 – V1ru8 2012-02-10 13:46:54

2

可以目錄和文檔預覽文件存儲你的文件在你的無處不在容器的文件容器的數據目錄。

如果預覽文件的名稱將基於文件名,你就可以使用元數據查詢結果得到的文件名稱,然後解析文檔預覽網址。

這樣,您只能下載文檔預覽,而不能下載整個文檔。

2

我不知道UIManagedDocuments,但在UIDocument的情況下,我會建議使用一個NSFileWrapper的文件格式(如該文件實際上是一個捆綁的文件夾),並保存在文檔中預覽,如「Preview.jpg」(或.png)位於標記爲「QuickLook」的文件夾中。 這樣,你也可以在Mac上的Finder中預覽(免費)。

當然,這可能會或可能不會(也取決於如果你的文檔是純文本的)是一個理想的解決方案。但是對於一般的UIDocuments預覽來說,這可能是一個很好的暗示。