Я работаю с большими изображениями на iPhone, поэтому сохранение их на диск может занять несколько секунд, и иногда появляется инструкция по удалению изображения, когда оно еще не сохранено.Я хотел бы прервать процесс сохранения и сразу же удалить файл, не дожидаясь его сохранения, но не могу найти способ прервать очередь или операцию сохранения.
@interface YMSavedImage : NSObject {
UIImage *image;
NSString *path;
dispatch_queue_t imageAccess;
...
}
@end
@implementation YMSavedImage
- (id)init
{
...
imageAccess = dispatch_queue_create("imageAccessQueue", NULL);
...
}
- (void)save
{
dispatch_async(imageAccess, ^(void) {
[UIImagePNGRepresentation(image) writeToFile:path atomically:YES]; // This takes several seconds.
});
}
- (void)delete
{
dispatch_sync(imageAccess, ^(void) {
if ([fileManager fileExistsAtPath:path]) {
[fileManager removeItemAtPath:path error:NULL];
}
});
}
...
@end