2012-01-23 23 views
2

我正在將核心數據與預填充的商店一起使用具有啓用了外部存儲的二進制數據的實體複選框,以便在外部保存一些大圖像,並且每次運行應用程序在模擬器中執行提取請求,創建一個名爲「文檔正在由AppName保存」的新文件夾。核心數據不斷創建正在保存的文檔...文件夾

該文件夾包含我在運行應用程序時獲取的一些圖像。

問題是這個文件夾不會在應用程序終止時刪除,並且應用程序不斷增加大小,目前的權重爲幾GB!

我已經啓用此項目使用默認的Xcode模板啓用核心數據。

我錯過了什麼嗎?

回答

7

Bill,

該文件夾是外部保存的BLOB的臨時存儲區。保存完成後,文件夾通常會清空。如果您在保存過程中發生崩潰,那麼數據將留在後面供您處理。我通常在啓動時刪除目錄。基本上,如果BLOB沒有移入CD隱藏的BLOB目錄,那麼它不在數據庫中。在我的應用程序中,我沒有問題。你的旅費可能會改變。

Andrew

+0

在我的情況下,目錄已清空,但仍保留在設備上。當我添加文件共享時,我在iTunes中看到了120個空目錄。不是很方便。我不認爲我的設備上有120次崩潰,所以我想在清理時有一個錯誤。你可能會分享你的代碼清理空目錄嗎? – Bjinse

0

由於您使用的是核心數據,您似乎希望應用程序生成的數據能夠持續存在,對嗎?如果是這樣,那麼在應用程序終止時刪除它的數據存儲似乎不是很有幫助。 (另外,用戶真的不應該在乎應用程序是否真的已經終止)。也許你的應用程序應該監視它存儲的圖像的數量,並刪除舊的圖像?

+1

該應用使用重新填充的商店。所有圖像都存儲在由名爲.AppName_SUPPORT/_EXTERNAL_DATA的核心數據創建的隱藏文件夾中。當我獲取圖像時,應用程序會創建「AppName保存的文檔」文件夾,並在其中複製圖像,如緩存或其他內容。終止後,該文件夾通常應該被刪除,因爲它包含專門用於提取請求的重複數據。 – Nimrod7