将字典写入文件
Posted
技术标签:
【中文标题】将字典写入文件【英文标题】:Writing a dictionary to a file 【发布时间】:2015-11-24 16:05:30 【问题描述】:从 plist 文件中读取 [String:String] 类型的字典。然后我添加一个新的键值对 - 在进入后台模式后,我使用以下代码将其写入相同的路径:
func saveToFile ()
let mo_tmp: NSDictionary = ortdict as NSDictionary
mo_tmp.writeToFile(fileat, atomically: true)
print("mo_tmp:", mo_tmp)
print("fileat:", fileat)
重新启动程序时,会再次读入相同的文件。但是,我添加到字典中的条目(并显示在上面的打印输出中)不存在。在模拟器或真正的 iPhone 5 上运行测试时会发生这种情况。
【问题讨论】:
【参考方案1】:检查 writeToFile() 的返回值是否为真。如果不是,则字典无法写入文件,因为并非所有包含的对象都是属性列表对象。
见https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/NSDictionary_Class/#//apple_ref/occ/instm/NSDictionary/writeToFile:atomically:
【讨论】:
writeToFile的结果确实是假的,但是不知什么原因:对象mo1写出来为: mo1: GPS = "47.2409, 8.7288, 423.0"; "瑞士少女峰" = "46.5481, 7.9839, 3580.0"; "PMOD/WRC 达沃斯" = "46.81350, 9.84455, 1587.21"; "St\U00e4fa, Chapfwiesenstrasse 14" = "47.2409, 8.7288, 423.0"; "St\U00e4fa, Chapfwiesenstrasse 25" = "47.2411, 8.7283, 422.9"; “山顶营地” = “72.58, -38.46, 3250.01”; "ach 是" = "47.2409, 8.7288, 423.0"; 这是一本字典——不是吗?以上是关于将字典写入文件的主要内容,如果未能解决你的问题,请参考以下文章