私は以前に NSCoding を使用したことがなく、実装方法について非常に混乱しています。
現在の iPad アプリには、メイン ビュー コントローラーのプロパティである UIImageView (「背景」と呼ばれる) があります。「背景」には、UIImage の「画像」プロパティ (明らかに) と、ユーザーが追加したさまざまなサブビューがあります。追加されたサブビューは、UIImageView の独自のカスタム サブクラスです。
「バックグラウンド」 UIImageView の状態を保存できるようにして、アーカイブしたときと同じ画像とすべてのサブビューを元の場所に復元できるようにする必要があります。
UIImageView が NSCoding プロトコルに準拠していることは理解していますが、encodeWithCoder と initWithCoder を実装する場所がわかりません。メインのView Controllerからこれらを呼び出しますか? これらのメソッドをオーバーライドできる UIImageView のカテゴリを作成する必要がありますか?
「バックグラウンド」UIImageView とそのサブビューのすべてのプロパティをアーカイブするためのコードを記述する必要がありますか? UIImage は NSCoding に準拠していないため、UIImageView をアーカイブできるようにするには、サブクラス化するか、カテゴリを追加する必要があることを SO の他の場所で読みました。
すべてのプロパティ、サブビューなどを含むオブジェクトをディスクに保存する簡単な方法があると思いました。この「バックグラウンド」UIImageViewを保存して後で復元するには、多くのことを行う必要があるようです。やるべきことをすべて視覚化するのに苦労しています。どんなポインタでも大歓迎です!