UIDocument, NSFileWrapper и изображения

У меня есть UIDocument, который я хотел бы состоять из (1) файла txt и (2) нескольких изображений jpg. Я поместил txt и все jpg в NSFileWrapper.

Когда я загружаю UIDocument, мне очень быстро нужна информация в txt-файле, поэтому я загружаю его первым и игнорирую все изображения до тех пор, пока они мне действительно не понадобятся.

Хотя я знаю, как лениво загружать изображения, я не знаю, как «лениво» сохранять изображения (особенно при использовании iCloud, я не хочу, чтобы файлы загружались/скачивались без необходимости). Предположим, я загрузил все изображения и не изменил их. Затем я хочу сохранить UIDocument, игнорируя все изображения (поскольку они не изменились), но хочу сохранить текст, поскольку он изменился.

Как мне этого добиться? Это вообще возможно? Или это делается автоматически? Или мне лучше не помещать изображения в мой UIDocument и позволить каждому изображению обрабатываться другим UIDocument? Боюсь, все это немного сбивает меня с толку.

Вот мой код, который сохранит все изображения и текст (независимо от того, были ли они изменены или нет):


UIDocument

-(id)contentsForType:(NSString *)typeName error:(NSError *__autoreleasing *)outError {

        NSMutableDictionary *wrappers = [NSMutableDictionary dictionary];
// the following puts a wrapper into a dictionary of wrappers:
        [self encodeObject:self.text toWrappers:wrappers toFileName:@"text.data"];
        [self encodeObject:self.photos toWrappers:wrappers toFileName:@"photos.data"];
        NSFileWrapper *fileWrapper = [[NSFileWrapper alloc] initDirectoryWithFileWrappers:wrappers];

        return fileWrapper;

    }

Когда я хочу сохранить UIDocument:

[self.doc saveToURL:self.doc.fileURL forSaveOperation:UIDocumentSaveForOverwriting completionHandler:^(BOOL success) {
    [self.doc closeWithCompletionHandler:^(BOOL success) {}];
}];
6
задан n.evermind 11 June 2012 в 16:17
поделиться