iOS儲存資料到相應目錄的問題

2021-10-07 12:24:00 字數 964 閱讀 7042

ios 資料儲存指導方針

ios 5.0.1開始支援"do not back up"檔案屬性,允許開發者明確地指定哪些檔案應該被備份,哪些是本地快取可以自動刪除,哪些檔案不需要備份但不能刪除。此外,對目錄設定這個屬性,會阻止備份該目錄和目錄中的所有內容。

注意"do not back up"屬性只能用於ios 5.0.1以後版本。之前版本的應用需要儲存資料到/library/caches目錄才能避免被備份。由於老的系統忽略這個屬性,你需要確保應用在所有ios版本中,都遵循上面的ios data storage guidelines。

資料處理分類

這些是使用者建立的資料,或其它不能重新生成的資料。應該存放在/documents目錄下,並且不應該標記為"do not backup"屬性。關鍵資料在低儲存空間時也會保留,而且會被icloud或itunes備份。

快取資料

應用需要寫到本地儲存,內部使用的臨時資料,但不需要長期保留使用。臨時資料應該儲存在/tmp目錄。系統可能會清空該目錄下的資料,itunes或icloud也不會對其進行備份。應用在不需要使用這些資料時,應該盡快地刪除臨時資料,以避免浪費使用者的儲存空間。

離線資料

注意:"do not backup"擴充套件屬性可以新增到任何檔案或目錄,在舊版本的系統中也能夠設定。但舊系統仍然會備份這些檔案,一旦裝置更新到ios 5.0.1,這些檔案會被重新正確地配置。

使用下面方法來設定"do not back up"擴充套件屬性。當你建立不需要備份的檔案或目錄時,向檔案寫入資料,然後呼叫下面方法,並傳遞乙個檔案url。

設定擴充套件屬性

//設定擴充套件屬性

#include 

- (bool)addskipbackupattributetoitematurl:(nsurl *)url

在ios下儲存資料到plist

今晚想把之前新手教程裡的todolist拿出來,新增退出儲存資料的功能,本來以為只需要簡單地呼叫乙個寫資料函式就可以搞定,沒想到竟然也折騰了好久。用 nsdictionary的writetofile方法一直儲存不成功。非常簡單,就只有幾行 nsdictionary filedata if filed...

iOS資料的儲存

ios應用資料儲存的常用方式有 1.plist檔案。2 preference 偏好設定 3.nskeyarchiver歸檔 nscoding 4.資料庫儲存 sqlite3 當有大量的資料需要儲存時使用 今天我們只講前面三中,資料庫後面在說。講之前要先了解一下沙盒 sandbox 每個軟體都有自己的...

ios中的資料儲存

ios開發中資料的儲存方式有 plist儲存 偏好設定 歸檔 sqlite資料庫 core data 1 plist儲存 1 儲存資料 plist其實就是儲存字典或者陣列物件 nsarray arr 1,3,123 獲取應用沙盒 nsstring homepath nshomedirectory 獲...