用列表NSDictonary读写文件
我有一个NSDictionary的列表,我想保存在一个文件中。 我可以保存在文本文件,但我不能读取它[NSDictionary]
var text : [NSDictionary] = []
保存存档
let json = JSONSerializer.toJson(text) try json.write(to: path, atomically: false, encoding: String.Encoding.utf8)
这是我的列表NSDictionary
[{ change = true; name = data1; },{ change = true; name = data2; }]
do { let text2 = try NSString(contentsOfURL: path, encoding: NSUTF8StringEncoding) // path give your file path print(text2) } catch {/* error handling here */} }
试试这个,告诉你的问题是否解决。
更新代码读取文件
let text2 = try String(contentsOf: path!, encoding: String.Encoding.utf8) print(text2) arrayFile = try JSONSerializer.toArray(text2) as! [NSDictionary] print(arrayFile)
并打印(text2)
{[{ change = true; name = data1; },{ change = true; name = data2; }]}
你可以用plist来查看数据字典。 这里是我们如何写入数据到plist文件。
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)
要从plist文件读取数据,
var paths = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)[0] as String var path = paths.stringByAppendingPathComponent("data.plist") let save = NSDictionary(contentsOfFile: path)