NSCoding
オブジェクトをエンコードし、アプリを起動するたびにデータをダウンロードする必要のない「キャッシュ」機能としてディスクに保存するために使用しています。現在、このデータをアプリの Documents フォルダーに保存していますが、アプリの更新時に削除されません。
したがって、私の懸念は、インスタンス変数を追加するなど、クラスを更新することです。そして、アプリを App Store にアップロードします。そのため、ユーザーが新しいバージョンに更新すると、Documents フォルダーに保存されている古いオブジェクトは、新しいバージョンで追加した新しいインスタンス変数なしでエンコードされます。私のアプリが起動時に保存されたオブジェクトをデコードしようとすると、ドキュメントフォルダーの「古い」オブジェクトがこの新しい変数でエンコードされていないため、失敗しますか?
この問題にどのように対処しますか? クラスを最初から「正しく」書くようにしてください。最終的にはクラスの 1 つを変更し、ディスク上に保存された古いオブジェクトを破棄する必要があると確信しています。