如何在swift中将数组保存到App的mainBundle中.plist

如何将数组保存到数组types的.plist?

我尝试这个,但不工作

let path = NSBundle.mainBundle().pathForResource("Setting", ofType: "plist") let arrayWithProperties = NSArray(array: [ NSNumber(integer: nowThemeSelected), NSNumber(integer: imageForBackgroundNumber), NSNumber(integer: imageForButtonNumber), NSNumber(integer: colorOfButton)]) arrayWithProperties.writeToFile(path!, atomically: true) 

您无法在iOS中写入主包,但您的应用包内的所有内容都是只读的。

[应用程序包]目录包含应用程序及其所有资源。 你不能写入这个目录。 为了防止篡改,bundle目录在安装时被签名。 写入这个目录改变签名,并阻止你的应用程序启动。 但是,您可以获取应用程序包中存储的任何资源的只读访问权限。

考虑阅读文件系统编程指南 ,然后坚持你的plist到正确的位置。 最好是Documents目录或者Library目录。 由你决定。

您不能写入Bundle目录,但可以写入Documents目录。 所以,使用这个代码!

 let documentsPath = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)[0] as NSString var path:NSString = documentsPath.stringByAppendingPathComponent("Setting.plist"); 

当你writeToFile()使用这个:

 arrayWithProperties.writeToFile(path as String, atomically: true) 

祝你好运!