2015-08-08 16 views
0

警告,我是一名設計師,在Swift周圍徘徊,所以提前道歉,因爲我的無知。保存初始數據文件的位置?

我正在處理的應用程序將附帶帶有所有數據的JSON數據文件(以便應用程序無需連接即可訪問)。當應用程序運行時,我檢查遠程JSON文件以查看是否有任何數據更新。如果有新數據,那麼我將用新的JSON文件覆蓋本地文件。

我的問題不是直接關係到代碼,而是iOS文件系統。我知道我不能寫入主包,那麼我在哪裏放置起始JSON文件,以便我可以從Documents目錄訪問它? 我瞭解如何將新文件保存到包含代碼和所有文檔的文檔中,但我不知道如何將JSON文件放入Documents目錄中以開始。

只是在正確的方向上的一個點將是偉大的。

謝謝

+0

你的意思是你有一個JSON文件打包並且你想把它放到文檔目錄中? –

+0

基本上可以。從我收集的文件需要位於可寫位置,而不是主包,我假設它是核心應用程序目錄。也許我完全錯了,我沒有太多要繼續,對不起。 – ALTVisual

回答

1

這可能對您有所幫助。通過使用此功能,您可以在應用程序數據中創建文件或從應用程序數據中獲取文件。

var paths = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)[0] as! String 
    var dirPath = paths.stringByAppendingPathComponent("XYZ/") 

    var docPath = paths.stringByAppendingPathComponent("XYZ/xyz.json") 
    println(docPath) 
    var checkImage = NSFileManager.defaultManager() 

    if (checkImage.fileExistsAtPath(docPath)) { 


    } else 
    { 
     checkImage.createDirectoryAtPath(dirPath, withIntermediateDirectories: true, attributes: nil, error: nil) 

    } 

刪除特定使用本

checkImage.removeItemAtPath(imagePath, error: nil) 
2

你把初始文件到您的包,讓它永遠存在。如果你下載了一個更新的文件,因爲如果需要的話可以再次下載該文件,操作系統應該可以隨時刪除它,並且不應該備份該文件。因此,你把它放到你的緩存目錄中。如果您立即複製該文件,Apple的審閱者不喜歡它。

當應用程序啓動時,檢查緩存目錄中是否有文件。如果它在那裏,則使用它並檢查其版本號。如果它不存在,則從包中取出文件。在任何一種情況下,您都會檢查背景中是否有新版本。

你唯一要做的就是不要 do是在你的軟件包中製作一個文件的副本。

+0

我想我的問題是,我正在尋找將文檔放入Xcode中的'文檔'目錄。所以我需要做的只是把它放在主目錄中,然後將未來的文件保存到Documents目錄中? – ALTVisual