iOS

Swift4:管理情報のsave / restore

アプリの管理管理情報のsave / restoreに関するメモです。

アプリを終了するときの状態をsaveし、再起動するときにrestoreして終了時の状態から再開させるには、ファイルをどこに保存すればいいか、どんなファイルタイプが許されるか、iOSにはOpenPanelがないので、どうしたものかとずっと考えていました。

これは思いのほか、簡単でした。

  • var wDocDirectry = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true).first!//ディレクトリ
  • let wFilepath:String  = wDocDirectry + “/” + “Mesaclip.mesa”//MesaClip管理ファイル

むしろ、NSDataのwrite / readと配列への戻し方に手間取りました。

  • let wArray:[Any]  = NSKeyedUnarchiver.unarchiveObject(with: wData! as Data)! as? NSArray as! [Any]//NSDataをNSDictionaryに変換する。
  • Z.rcArray = NSKeyedUnarchiver.unarchiveObject(with: wArray[0] as! Data) as! [NSMutableDictionary]//00 メモ(rcArray)
  • Z.maybeLastRow  = wArray[1] as! Int  //01 現在選択されいる表の行位置
  • Z.xLanguage.setTitle(wArray[2] as? String, for: .normal) //02 言語

Screenshot 2018-02-28 11.56.00

  • bookmarkファイルはmacOSで作成し、iOSにcopy and pasteする仕様としました。
  • 将来的には、icloudにした方がいい、と考えています。MesaMeterをアップデートするときに再検討することにします。

Categories: iOS, Swift, 技術