永続的なキー付きアーカイブをバージョニング?
-
18-09-2019 - |
質問
私の現在のアプリケーションのために私は起動の間にiPhoneに私のオブジェクトを永続化するNSKeyedArchiverのアプローチを使用しています。将来的には我々が扱っているデータの種類を知っているよアプリの回転数が必要に移行すべき時になるようにそれはバージョン番号で作成されていますときには、このファイルにタグを付けることは理にかなっている場合、私は思ったんだけど。これはNSKeyedArchiverでシリアライズされたカスタムオブジェクトのNSArrayのような単純なもののために推奨されていますか?バージョン番号を隠しておくにどこか/もしそうなら?
ありがとうございます。
解決
あなたが変更されますフォーマットのように感じる場合は、[はい、あなたはあなたが作業しているファイルのバージョンを検出するためのいくつかの方法をお勧めします。これを実行するための簡単な方法(あなたがNSArrayのを使用しているので、)は、単純に、配列の先頭または末尾のいずれかにするNSNumberとしてバージョン番号を追加することです。また、実際にファイルを変更しないより複雑なアプローチのために、あなたは(たとえば、ファイル名とバージョン番号をリンクNSDictionaryのを使用して)別のファイルに情報を格納することができます。それとも、あなたはそれを格納するためにユーザデフォルトシステムを使用することができ、そしてそれは、古いバージョンをフロームだ場合、ファイルおよびユーザデフォルトのキーを更新します。
あなたは、複数のキー付きのデータファイルを扱っている場合を除き、私は、第二の方法を使用することはありません。これら3つのうち、私はおそらく最後を選ぶだろうが、より理にかなっている、それを行うにはいくつかの他の方法があるかもしれません。