我正在尝试将数据快速保存到plist文件中,但是读取plist时保存的数据没有显示出来。这是我正在使用的代码。
var documentsDirectory = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)[0] as NSString var path : NSString = documentsDirectory.stringByAppendingPathComponent("data.plist") var data : NSMutableDictionary = NSMutableDictionary(contentsOfFile: path) data.setObject(self.object, forKey: "key") data.writeToFile(path, atomically: true)
编辑:我听说做到这一点的最佳方法是写入documents目录,所以我的问题是我应该如何写入该目录中的文件?
显然该文件不在可写位置,因此我在documents目录中创建了该文件。
var paths = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)[0] as String var path = paths.stringByAppendingPathComponent("data.plist") var fileManager = NSFileManager.defaultManager() if (!(fileManager.fileExistsAtPath(path))) { var bundle : NSString = NSBundle.mainBundle().pathForResource("data", ofType: "plist") fileManager.copyItemAtPath(bundle, toPath: path, error:nil) } data.setObject(object, forKey: "object") data.writeToFile(path, atomically: true)
然后,必须从文档目录中读取它。
var paths = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)[0] as String var path = paths.stringByAppendingPathComponent("data.plist") let save = NSDictionary(contentsOfFile: path)