ビューの状態を復元したいのですが、ビューにはUIPickerView
があります。encodeObjectを使用してUIPickerViewをアーカイブすることは可能ですか?
UIPickerView
は、グラフィックスコンポーネント、つまり背景ホイールイメージを持っているように私に似ています。 UIImage
はアーカイブできません。 UIImageView
のような画像を持つものは、まず画像をnil
に設定してからエンコードする必要があります。
ただし、UIPickerView
はNSCoding
です。つまり、encodeObject
とdecodeObject
が動作するはずです。
彼らはそうではありません。つまり、エラーは発生しません。しかし、デコード後には、画像なしでUIPickerView
が得られます。それは良く見えません!今
後
前
、:ここで
はちょうど私が怒っつもりはないことを証明する前と後のショットです私はthを知っている私は単純に現在のユーザー選択を保存し、ピッカーのselectRow
メソッドを呼び出すことによってビューを再作成することができました。しかし、本当に、私は興味があります。 UIPickerView
NSCoding
は実際にはそうではないにもかかわらず、バックグラウンドホイールイメージを戻すために何もできないのはなぜですか?
私の主張は、UIPickerViewを再構築できないため、なぜNSCodingに準拠させるのですか? –
ケビンはそれを説明しました。 NSCodingは*すべて*を原則としてアーカイブするのではなく、それを再構築するのに必要なデータだけをアーカイブします。 – James
あなたはNSCodingがやっていることをあまりにも多く読んでいると思います。 Appleのドキュメントから:「この機能はアーカイブの基礎を提供します。あなたはそれを作ろうとしている "ワンストップショップ"だとは決して言わないでください。 – Kevin