好的,所以我有一个问题,我需要检查用户是否更改了里面的图像和imageView。如果没有那么应用程序不需要重新保存一堆东西,它被更改然后它应该保存。所以基本上这只是为了优化代码,因为在保存时我正在向磁盘写入四个图像(loRes,loResThumb,hiRes和hiResthumb)并且需要一段时间。
我想我可以通过在用户进入编辑模式时将图像保存为NSDATA来尝试这样做,然后当用户退出时,检查并查看UIIMageView中包含的NSDATA是否与我之前暂时保存的NSDATA相同。这样做还是更好的方式,比如检查是否已经调用了UIImagePicker(并不一定意味着图像被改变了,但至少它更接近于每次都保存)。
任何提示赞赏。谢谢!
答案 0 :(得分:2)
尝试创建UIImageView的子类,如果设置了image
,则“标记”脏值。
@interface myImageView : UIImageView {
BOOL _dirty; // set to NO in init
}
- (BOOL) hasChanged;
@end
@implementation
- (void) setImage: (UIImage *)image
{
[super setImage:image];
_dirty = YES;
}
- (BOOL) hasChanged
{
if (!_dirty) return NO;
_dirty = NO;
return YES;
}
@end