Objective-Cで保存したアーカイブデータをSwiftで読み込む
アプリをObjective-CからSwiftに書き換える際、少し悩むことに、Objective-Cで保存したアーカイブデータ(ユーザーのデバイスに保存されている)をSwiftで読み込むにはどうすればいいのかということがあります。 ここでは、NSKeyedUnarchiverやNSKeyedArchiverクラスを用いて利用するアーカイブデータがデバイスに保存されている場合に限定して、アプリをSwiftに書き換える時の手順などをまとめます。 ファイルの場所の指定 データの保存と読み込みではファイルの場所を指定します。ファイルの場所の指定はObjective-CとSwiftでほとんど同じ感覚でいけます。 var fileName = "" let paths: [String] = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true) if 0 < paths.count { fileName = paths[0] fileName.appendContentsOf("/targetObject.dat") //print(fileName) } if 0 < paths.countは一応入れといた。 ちなみにstringByAppendingPathComponentというNSStringクラスのメソッドは使えなくなったようです。追加するものの前に自動的に/を加えるメソッドです。URLクラスに同じ機能のメソッドがありそっちを使えと表示が出ます。使えなくなったのが意図的だとすればStringとして扱うかURLとして扱うか中途半端ということでしょうか。 アプリにアーカイブ機能を付けるためにソースを書く部分 主に3つあります。 1 : データを保存するところ 2 : データを読み込むところ 3 : データ自体の定義 データの保存/読み込み データの保存/読み込みの仕方は A : オブジェクトをファイルに直接アーカイブする B : NSDataを介してオブジェクトをファイルにアーカイブする と2つあります。保存時と読み込み時でやり方が「対」になっていると余計...