swift 操作.plist文件 ,解决覆盖的问题

前端之家收集整理的这篇文章主要介绍了swift 操作.plist文件 ,解决覆盖的问题前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

1.可以覆盖的代码

static func getIP() -> String{
        let ipPath = Bundle.main.path(forResource: "ip",ofType: "plist")
        let ipArr = NSDictionary(contentsOfFile: ipPath!)
        let ip = ipArr?["ip"] as! String
        return ip
    }

    static func setIP(Ip:String){
        let ipPath = Bundle.main.path(forResource: "ip",ofType: "plist")
        let ipArr = NSDictionary(dictionary: ["ip":Ip])
        ipArr.write(toFile: ipPath!,atomically: true)
    }

2.不覆盖的代码

func getCacheNativeNSDictionary(_ sjBasicId:String) -> NSDictionary?{
    print("sjBasicId:\(sjBasicId)")
    let ipPath = Bundle.main.path(forResource: "nativeCache",ofType: "plist")
    let ipArr = NSDictionary(contentsOfFile: ipPath!)
    let ip = ipArr?[sjBasicId] as? NSDictionary
    return ip
}

func setCacheNativeNSDictionary(_ sjBasicId:String,str:NSDictionary){
    let ipPath = Bundle.main.path(forResource: "nativeCache",ofType: "plist")
    let ipArr = NSMutableDictionary(contentsOfFile: ipPath!)
    ipArr?[sjBasicId] = str
    ipArr?.write(toFile: ipPath!,atomically: true)
}

差别

  • let ipArr = NSMutableDictionary(contentsOfFile: ipPath!)
  • 主要是把.plist文件路径与Dictionary关联,则不会覆盖原来的文件

猜你在找的Swift相关文章