iPhone - 保存UIImageView状态

时间:2009-06-12 06:54:14

标签: iphone uiimageview

我已经创建了UIImageView的子类,我正在处理子类本身内部对象的触摸。

现在,当用户即将退出应用程序时,我想保存图像的状态。由于图像上可能发生了多次转换(我正在保存数组中的所有转换),我希望能够在applicationWillTerminate中保存这些对象。

有什么办法可以保存这些物品吗?或者我必须单独保存所有内容?如果我这样做,如何保存图像视图对象上发生的所有转换,直到用户退出?

感谢。

1 个答案:

答案 0 :(得分:1)

UIImageView符合NSCoding。您需要在encodeWithCoder:子类中实现UIImageView以允许序列化它。您使用传递的编码器序列化重要的成员变量,在这种情况下,您的图像然后调用超类“encodeWithCoder:

你在initWithCoder:做了相反的事情,你已经恢复了原来的状态。

如果您的图片是UIImage的实例,那么您将需要做更多的工作,因为它不符合NSCoding。您可以将图像数据转换为NSData对象并根据您的要求进行编码。以下是如何完成此操作的示例:http://www.nixwire.com/getting-uiimage-to-work-with-nscoding-encodewithcoder/

查看Cocoa的档案和序列化编程指南:http://developer.apple.com/iphone/library/documentation/Cocoa/Conceptual/Archiving/Archiving.html