Не удается очистить кэш PSPDFDocument - PullRequest
1 голос
/ 02 декабря 2011

У меня проблемы с очисткой кеша PSPDFDocument до и после удаления файла PDF.

вот что я делаю:

// ...
PSPDFDocument *document = [PSPDFDocument PDFDocumentWithUrl:(pdfURL)];
[document clearCacheForced:YES];

[mManagedObjectContext deleteObject:mPdfDocument];
// ...

при попытке очистить веськеш для всех PDF-файлов, он работает:

// ...
[[PSPDFCache sharedPSPDFCache] clearCache];
// ...

Есть идеи?

Ответы [ 2 ]

2 голосов
/ 27 декабря 2011

Ну, имя метода немного вводит в заблуждение, clearCacheForced в PSPDFDocument просто освобождает некоторый внутренний кеш, такой как количество страниц документа, координаты, позиции аннотаций, а не содержимое изображения, которое кэшируется на диск PSPDFCache. Вам нужно позвонить

- (void)removeCacheForDocument:(PSPDFDocument *)aDocument deleteDocument:(BOOL)deleteMagazine

в PSPDFCache для удаления кэшированных изображений.

Также см. Документацию API: http://pspdfkit.com/documentation/Classes/PSPDFCache.html#//api/name/removeCacheForDocument:deleteDocument:

0 голосов
/ 07 марта 2016

Для PSPDFKit 4.1.0 + [PSPDFCache sharedPSPDFCache] устарело, используйте это:

[[PSPDFKit sharedInstance].cache removeCacheForDocument:self.document deleteDocument:YES error:&error];
...