Swift之PlistUtil存儲工具

直接上工具類

import Foundation
class PlistUtil {
    func put(fileName:String,key:String,val:String) -> Bool {
        do{
            //獲得存儲路徑
            let path = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true).first
            //拼接名字
            let fileName = "\(path!)/\(fileName).plist"
            let dic:NSDictionary = [key:val]
            //寫入
            return dic.write(toFile: fileName, atomically: true)
        }catch{
            return false
        }
    }
    func get(fileName:String,key:String) -> String {
        //獲得數據存儲路徑
        let path = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true).first
        let fileNameRel = "\(path!)/\(fileName).plist"
        //判斷文件是否存在
        let fileManager = FileManager.init()
        let exist = fileManager.fileExists(atPath: fileNameRel)
        if !exist{
            //print("你查詢的文件不存在")
            return ""
        }
        //讀取plist:如果有數返回數據 否則返回默認 ""
        let dicRes = NSDictionary.init(contentsOfFile: fileNameRel)
        if dicRes != nil{
            let res = dicRes?[key]
            return res as? String ?? ""
        }else{
            return ""
        }
    }
}

測試類

        let plist  = PlistUtil.init()
        //測試寫入
        let flag =  plist.put(fileName: "mplist", key: "initsqlitedata2", val: "zheng")
        if flag {
            print("寫入數據成功")
        }else{
            print("寫入數據失敗")
        }
        //測試讀取
        let res =  plist.get(fileName: "mplist", key: "initsqlitedata2")
        if res == ""{
            print("沒有獲取到數據")
        }else{
            print("===> \(res)")
        }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章