私のジレンマは次のとおりです。
UIImageのカスタムサブクラスがあり(いくつかのシリアル化メソッド、つまりinitWithCoder、encodeWithCoderを追加しました)、カスタムサブクラスを変数としてUIImageView、または少なくともUIImageViewのサブクラスに適用したいと思います。
ご存知のように、UIImageViewには、UIImageタイプの「image」という変数があります。この変数をサブクラスでオーバーライドしたいと思います。
私の目標は、encodeWithCoderメッセージが変数イメージに送信されてもクラッシュせずにarchivedDataWithRootObjectに応答するUIimageViewを作成することです。そこにたどり着くためのより賢い方法があれば、私は提案を受け入れます。
ありがとうございました!
[編集]考えられるルートの1つは、ある種のキャスティングを経由することだと思います...しかし:
UIImage *image = [[UIImage alloc] init];
MLImage *mlImage = [[MLImage alloc] init];
mlIamge = (MLImage*)image;
2行目が実行された後にmlImageにマウスを合わせると、タイプがMLImageであることがわかります。ただし、キャストを使用しても、3行目が実行されると、mlImageはUIImageになります。画像の種類をMLImageに変更するにはどうすればよいですか?[/編集]