2013-02-23 72 views
-12

我需要了解基本問題。在IOS中列出文檔文件

1)我需要從我的應用程序下載一些數據..應該在哪裏存儲它(文檔目錄或其他路徑)。

2)如果我在..delete我的應用程序中存儲在文檔目錄..然後將我的所有下載的數據都刪除。

3)我下載的數據可以增加空間大小意味着GB,所以我應該在哪裏存儲它。

下面的代碼給我的文檔目錄

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 

    documentsDirectory = [paths objectAtIndex:0]; 
NSLog(@"path %@",documentsDirectory); 
filePathsArray = [[NSFileManager defaultManager] subpathsOfDirectoryAtPath:documentsDirectory error:nil]; 
NSLog(@"af%@",filePathsArray); 

4)如果我需要列出的數據列表數據的一些特定的文件夾說"/users"那麼應該是什麼的代碼更改。

+0

@ H2CO3 ya man我知道代碼..我只需要知道我應該在哪裏存儲數據在'NSCachesDirectory'或'NSDocumentDirectory' .. ..讓它保持在內存中 – user2102546 2013-02-23 16:43:57

回答

2

1)Apple更喜歡將下載的數據存儲在應用程序的Caches目錄中,因爲如果數據被刪除,數據可以被替換。

2)是的,如果用戶刪除一個應用程序,存儲在應用程序的沙箱中的所有數據將被刪除。你期望會發生什麼?

3)使用NSCachesDirectory

4)/Users不是應用程序沙箱中的有效路徑。在模擬器中運行時可能會看到這樣的路徑,但不會在真實的設備上運行。

蘋果的文檔講述了iOS文件系統和應用程序沙盒的結構。你真的應該從閱讀這些文檔開始。

順便說一句 - 這些答案的每一個都可以用幾分鐘的時間使用谷歌或搜索本網站找到。這就是爲什麼你得到所有的反對票。在發佈問題之前,請付出一些努力找到自己的答案。請閱讀(整個)常見問題。

+0

好的謝謝男人...喜歡需要保持安全的數據到我的記憶...所以我將使用'NSCachesDirectory'而不是'NSDocumentDirectory',但後來我怎麼可以通過代碼訪問數據... bcz地址將改變'..應用程序/ 2492C5CE- CD36-4270-8BB8-25710C24BF9E/Library/Caches' for the same app ..ryt – user2102546 2013-02-23 16:49:56

+0

Caches目錄中的文件可以被操作系統刪除。如果發生這種情況,您將需要再次下載它們。您發佈的代碼(加上將NSDocumentDirectory更改爲「NSCachesDirectory」)基本上是如何訪問數據的。 – rmaddy 2013-02-23 16:53:12