swift微博第13天(保存授权信息)

一·储存值的方式

  • 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
 }

}

你可能感兴趣的:(swift微博第13天(保存授权信息))