更新plist - swift

时间:2014-11-25 20:59:06

标签: ios arrays dictionary plist

我的应用中有一个.plist可以保存重要数据。它分为以下层次结构:

  1. 列表项
  2. Root - 词典
  3. 设置 - 字典
    1. 设置1 - 数组
    2. Setting2 - array
  4. 如何将数据写入3.1和3.2阵列?我只是要向3.阵列添加数据,仅此而已。我使用以下代码来读取数据并且效果很好:

    if let path = NSBundle.mainBundle().pathForResource("SettingsList", ofType: "plist") {
        if let dict = NSDictionary(contentsOfFile: path) as? Dictionary<String, AnyObject> {
            //   println(dict[settings!][setting1, String])
    
            settingsArray = dict[settings!]![setting1!] as Array
    
            println(settingsArray)
        }
    }
    

1 个答案:

答案 0 :(得分:3)

您应该使用可变字典而不是字典。更新字典的数据,完成后,使用writeToFile方法将可变字典写入文件:

func writeToFile(_ path: String, atomically atomically: Bool) -> Bool

根据您的代码,您应该:

  1. 更改此行:if let dict = NSDictionary(contentsOfFile: path) as? Dictionary<String, AnyObject>以制作可变字典:let dict = NSMutableDictionary(contentsOfFile: path)
  2. 更新
  3. 将其写入您的文件:dict?.writeToFile(path, atomically: true)