我的困境如下:
我有一个 UIImage 的自定义子类(我添加了一些序列化方法,即 initWithCoder、encodeWithCoder),我想将我的自定义子类作为变量应用到 UIImageView,或者至少是 UIImageView 的子类。
如您所知,UIImageView 有一个名为“image”的变量,它的类型为 UIImage。我想用我的子类覆盖这个变量。
我的目标是让 UIimageView 响应 archivedDataWithRootObject 而不会崩溃,并将 encodeWithCoder 消息发送到变量图像。如果有更聪明的方法可以到达那里,我愿意接受建议。
谢谢!
[编辑]我认为一种可能的途径是通过某种类型的铸造......但是:
UIImage *image = [[UIImage alloc] init];
MLImage *mlImage = [[MLImage alloc] init];
mlIamge = (MLImage*)image;
当我在第二行执行后将鼠标悬停在 mlImage 上时,我可以看到它是 MLImage 类型的。但是,即使使用强制转换,在第三行执行 mlImage 之后也会变成 UIImage。我需要做什么才能将图像类型更改为 MLImage?[/编辑]