2014-03-13 51 views
1

我們正在將一個跨平臺代碼加載到Cocoa的應用程序。使用直接在磁盤上的文件進行加載/保存的底層文件處理例程是強制性的。NSFileWrapper和普通的舊文件句柄

由於NSFileWrapper旨在通過NSData在內存中顯示文件的內容,並將實際的磁盤文件細節提取出來,所以我們不能直接使用它,對嗎?

所以爲了能夠使用我們的低級別的文件處理代碼中使用

  • fopen()
  • fread()

和類似ANSI-C的東西,我們都在思考

  1. 使用NSFileWrapper API NSDocument,
  2. NSData從文件包裝器中寫回到temp。文件夾
    (例如〜/ Library/Caches/
  3. 移交該溫度。文件(〜100k .. 1MB)降到較低的水平。

文件的寫作將同樣的工作 - 只是周圍的其他方法。

現在 - 這種方法是最簡單的方式來獲得直接訪問文件NSFileWrapper代表?我們在文件包裝中忽略了一些API嗎?

有我們可能會遇到任何麻煩 - 尤其是沙盒和iCloud的思維..?

由於我們希望支持文件包超過1個文件,我們希望堅持使用基於文件包裝的API NSDocument而不是使用基於NSURL的方法。

任何意見/評論者讚賞!

回答