2014-11-08 72 views
0

我想使用NSDocument來存儲我的應用程序的數據。我希望用戶能夠將圖像嵌入到文檔中。爲了不在我的文檔中存儲嵌入圖像的路徑,我想嵌入它們的內容。在單個文檔中存儲多個文件

我已經看到,例如Keynote將所有圖像存儲在其文檔中。我如何在類中擴展NSDocument來做類似的事情?當我覆蓋readFromDatadataOfType方法時,我不得不處理NSData這不會允許我這樣的事情。我是否必須重寫fromUrl這樣做? 或者我將不得不處理NSDocument爲我自己做的所有低級別內容,並自行創建一個NSFilePresenter實現?

回答

1

您必須將文檔製作爲文件包裝器,因此實際上它會成爲一個目錄,但Finder會將其顯示爲單個實體。使用的方法是在NSDocument:

  • fileWrapperOfType:錯誤:
  • readFromFileWrapper:ofType:錯誤:

使用這些替代readFromData和dataOfType。你還需要閱讀文件包裝器(NSFileWrapper)。

我讀過一些建議反對使用文件包裝。我想我讀過一些壓縮程序在正確存檔和擴展它們時遇到麻煩,例如。通過電子郵件發送。我認爲這不是蘋果的建議,聽起來更像是存檔計劃的一個缺點。

相關問題