用列表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)