一·儲存值的方式
- 1.Home目錄
- 2.Documents
- 需要保存由"應用程序本身"產生的文件或者數據,例如: 游戲進度,涂鴉軟件的繪圖
- 目錄中的文件會被自動保存在 iCloud
- 注意: 不要保存從網絡上下載的文件,否則會無法上架!
- 3.Caches
- 保存臨時文件,"后續需要使用",例如: 緩存的圖片,離線數據(地圖數據)
- 系統不會清理 cache 目錄中的文件
- 就要求程序開發時, "必須提供 cache 目錄的清理解決方案"
- 4.Prepences
- 用戶偏好,使用 NSUserDefault 直接讀寫!
- 如果想要數據及時寫入硬盤,還需要調用一個同步方法
- 5.tmp
- 保存臨時文件,"后續不需要使用"
- tmp 目錄中的文件,系統會自動被清空
- 重新啟動手機, tmp 目錄會被清空
- 系統磁盤空間不足時,系統也會自動清理
二.下面奉獻一個有關路徑的類 String+Category.swift
import UIKit
extension String
{
// MARK: 1.返回Home的完整路徑名
/**
* 1.返回Home的完整路徑名
*/
static func homeDir() -> String {
//獲取程序的Home目錄
let homeDirectory = NSHomeDirectory()
return homeDirectory
}
// MARK: 2.返回Cache的完整路徑名
/**
* 2.返回緩存路徑的完整路徑名 Cache
*/
static func cacheDir() -> String {
//Cache目錄-方法1
/*
let cachePaths = NSSearchPathForDirectoriesInDomains(FileManager.SearchPathDirectory.cachesDirectory, FileManager.SearchPathDomainMask.userDomainMask, true)
let cachePath = cachePaths[0]
return cachePath
*/
//Cache目錄-方法2
let cachePath2 = NSHomeDirectory() + "/Library/Caches"
return cachePath2
}
// MARK: 3.返回Documnets的完整路徑名
/**
* 3.返回Documnets的完整路徑名
*/
static func DocumnetsDir() -> String {
//獲取程序的documentPaths目錄
//方法1
let documentPaths = NSSearchPathForDirectoriesInDomains(FileManager.SearchPathDirectory.documentDirectory, FileManager.SearchPathDomainMask.userDomainMask, true)
let documnetPath = documentPaths[0]
//方法2
//let ducumentPath2 = NSHomeDirectory() + "/Documents"
return documnetPath
}
// MARK: 4.返回Library的完整路徑名
/**
* 4.返回Library的完整路徑名
這個目錄下有兩個子目錄:Caches 和 Preferences
Library/Preferences目錄,包含應用程序的偏好設置文件。不應該直接創建偏好設置文件,而是應該使用NSUserDefaults類來取得和設置應用程序的偏好。
Library/Caches目錄,主要存放緩存文件,iTunes不會備份此目錄,此目錄下文件不會再應用退出時刪除
*/
static func LibraryDir() -> String {
//獲取程序的documentPaths目錄
//Library目錄-方法1
let libraryPaths = NSSearchPathForDirectoriesInDomains(FileManager.SearchPathDirectory.libraryDirectory, FileManager.SearchPathDomainMask.userDomainMask, true)
let libraryPath = libraryPaths[0]
//Library目錄-方法2
//let libraryPath2 = NSHomeDirectory() + "/Library"
return libraryPath
}
// MARK: 5.返回Tmp的完整路徑名
/**
* 5.返回Tmp的完整路徑名
用于存放臨時文件,保存應用程序再次啟動過程中不需要的信息,重啟后清空。
*/
static func TmpDir() -> String {
//方法1
let tmpDir = NSTemporaryDirectory()
//方法2
//let tmpDir2 = NSHomeDirectory() + "/tmp"
return tmpDir
}
}
最后編輯于 :
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。