大佬教程收集整理的这篇文章主要介绍了在Swift中写入plist文件,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
override func viewDidLoad() { super.viewDidLoad() let path = NSBundle.mainBundle().pathForresource("favCities",ofType: "plist") var plistArray = NSArray(contentsOfFile: path) as [Dictionary<String,String>] var addDic: Dictionary = ["ZMV": "TEST","Name": "TEST","Country": "TEST"] plistArray += addDic (plistArray as NSArray).writeToFile(path,atomically: truE) var plistArray2 = NSArray(contentsOfFile: path) for tempDict1 in plistArray2 { var tempDict2: NSDictionary = tempDict1 as NSDictionary var cityName: String = tempDict2.valueForKey("Name") as String var cityZMV: String = tempDict2.valueForKey("ZMV") as String var cityCountry: String = tempDict2.valueForKey("Country") as String println("City: \(cityName),ZMV: \(cityZMV),Country: \(cityCountry)") }
乍一看,一切都运作良好.输出如下所示:
City: Moscow,ZMV: 00000.1.27612,Country: RU City: New York,ZMV: 10001.5.99999,Country: US City: TEST,ZMV: TEST,Country: TEST
但是当我打断应用程序时,我发现我的文件favCities.plist没有改变.还有两个值.这些值 – 城市:TEST,ZMV:TEST,国家:TEST – 未添加.如果我重新启动应用程序,那么我再次看到3行输出,尽管应该有4行.
怎么了?
更新:
我把代码更改为:
override func viewDidLoad() { super.viewDidLoad() let fileManager = (NSFileManager.defaultManager()) let directorys : [String]? = NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.DocumentDirectory,NSSearchPathDomainMask.AllDomainsmask,truE) as? [String] if (directorys! != nil){ let directories:[String] = directorys!; let Dictionary = directories[0]; let plistfile = "favCities.plist" let plistpath = Dictionary.StringByAppendingPathComponent(plistfilE); println("\(plistpath)") var plistArray = NSArray(contentsOfFile: plistpath) as [Dictionary<String,String>] var addDic: Dictionary = ["ZMV": "TEST","Country": "TEST"] plistArray += addDic (plistArray as NSArray).writeToFile(plistpath,atomically: falsE) var plistArray2 = NSArray(contentsOfFile: plistpath) for tempDict1 in plistArray2 { var tempDict2: NSDictionary = tempDict1 as NSDictionary var cityName: String = tempDict2.valueForKey("Name") as String var cityZMV: String = tempDict2.valueForKey("ZMV") as String var cityCountry: String = tempDict2.valueForKey("Country") as String println("City: \(cityName),Country: \(cityCountry)") } } else { println("ERROR!") } }
City: Moscow,Country: TEST City: TEST,Country: TEST ........
但!如果查看文件favCities.plist,它位于项目文件夹(Xcode中的Project Navigator)中,它仍然保持不变 – 有两行!
如果沿着路径走,它存储在变量plistpath中 – / Users / admin / Library / Developer / CoreSimulator / Devices / 55FD9B7F-78F6-47E2-9874-AF30A21CD4A6 / data / Containers / Data / Application / DEE6C3C8-6A44-4255 -9A87-2CEF6082A63A /文档/
然后还有一个文件favCities.plist.它包含构成应用程序的所有更改.我究竟做错了什么?如何查看位于项目文件夹(Project Navigator)中的文件中的所有更改?
以上是大佬教程为你收集整理的在Swift中写入plist文件全部内容,希望文章能够帮你解决在Swift中写入plist文件所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。