如何使用数组类型将数组保存到.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)
答案 0 :(得分:5)
您无法在iOS中写入主要捆绑包,应用程序包中的所有内容都是只读的。
[App的捆绑]目录包含应用程序和所有 它的资源。您无法写入此目录。阻止 篡改,bundle目录在安装时签名。 写入此目录会更改签名并阻止您的应用程序 从发射。但是,您可以获得对任何设备的只读访问权限 存储在应用包中的资源。
考虑阅读file system programming guide,然后将你的plist保持在正确的位置。最好是Documents目录或Library目录。由你决定。
答案 1 :(得分:1)
您无法写入Bundle目录,但可以写入Documents目录。所以,请使用此代码!
let documentsPath = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)[0] as NSString
var path:NSString = documentsPath.stringByAppendingPathComponent("Setting.plist");
当你写toToFile()时,请使用:
arrayWithProperties.writeToFile(path as String, atomically: true)
祝你好运!