У меня есть приложение, в котором я использую стороннюю библиотеку для сохранения и загрузки данных. Обычно при использовании NSDocument я переопределяю метод - (NSData *)dataOfType:(NSString *)typeName error:(NSError **)outError
и возвращаю правильные данные, но с этой библиотекой у меня есть доступ только к процедуре сохранения (которая также может создавать несколько файлов, иначе я бы сохранил во временный файл и вернул данные временный файл).Cocoa custom NSDocument saving
Я также попытался следующие:
- (void)saveToURL:(NSURL *)url ofType:(NSString *)typeName forSaveOperation:(NSSaveOperationType)saveOperation completionHandler:(void (^)(NSError *errorOrNil))completionHandler
{
librarySaveFunction(url.path);
}
Который работает, но название документа остается как «MyFile - ред», и если я пытаюсь сохранить снова, я получаю сообщение об ошибке, что данный документ был обновлен другим приложением (я смог разрешить это, установив дату изменения файла, но файл по-прежнему отмечен как «Отредактированный», и он очень хаки).
У кого-нибудь есть лучшее предложение о том, как лучше переопределить рутину экономии?