如何快速修改plist

ext*_*ade 4 xcode plist swift

我希望能够快速修改我的 plist 中的值,但我无法弄清楚。到目前为止,我可以读取数组中的值,但仅此而已。

var playersDictionaryPath = NSBundle.mainBundle().pathForResource("PlayersInfo", ofType: "plist")

var playersDictionary = NSMutableDictionary(contentsOfFile: playersDictionaryPath!)

var playersNamesArray = playersDictionary?.objectForKey("playersNames")? as NSArray

[println(playersNamesArray)][1]
Run Code Online (Sandbox Code Playgroud)

Chr*_*örz 5

首先,您不能写入应用程序资源中的 plist 文件。因此,您需要将编辑过的 plist 保存到另一个目录。喜欢你的NSDocumentDirectory.

正如在这个答案中提到的那样,您可以获得这样的文档路径:

let documentsPath = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)[0] as NSString
Run Code Online (Sandbox Code Playgroud)

但是要回答你的问题,你可以编辑NSMutableDictionary这样的:

//add entries:
playersDictionary.setValue("yourValue", forKey: "yourKey")

//edit entries:
playersDictionary["yourKey"] = "newValue" //Now has value 'newValue'

//remove entries:
playersDictionary.removeObjectForKey("yourKey")
Run Code Online (Sandbox Code Playgroud)

NSArray另一方面,如果你想编辑你的,你应该使用 an NSMutableArray