Swift - Dictionaryを保存する
サーバーからのレスポンスをキャッシュしたい時なんぞに、
こういったことが必要になることがあります。
NSDictionaryをNSDataに変換
NSDictionaryをplistに変換しても良かったのだけれど、
何故か私が渡すDictionaryでは、writeToFileがfalseを返すばかりで失敗するため、
いろんなところを参考にして、NSDataに変換して保存する方法をとった。
まあplistだと中身を見ることができてしまうので、バイナリに変換するのがいいんでないかなと思います。
NSKeyedArchiverをつかってアーカイブ・アンアーカイブ
NSKeyedArchiverをつかってNSDictionaryをバイナリに変換します。
// アーカイブ let data = NSKeyedArchiver.archivedDataWithRootObject(dictionary) // アンアーカイブ let dictionary = NSKeyedUnarchiver.unarchiveObjectWithData(data)
NSFileManagerで任意のディレクトリに保存
あとは仕様にそった場所にNSFileManagerクラスで保存してあげればよい。