如何在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)
祝你好运!