2012-02-06 1 views
3

Я работаю над приложением UIDocument, и я хотел бы показать пользователю предварительный просмотр документа, прежде чем он его откроет. Я могу отобразить этот предварительный просмотр в изображении, когда документ будет закрыт. Но где я должен сохранить этот образ? В другом файле? или существует определенный способ сделать это?Где хранить предварительный просмотр UIDocument?

Сейчас я разрабатываю его без поддержки iCloud. Но я хочу иметь решение, которое будет работать с iCloud. UIDocument - UIManagedDocument. Но сохранение изображения в базе данных сделало бы его бесполезным. Потому что тогда мне нужно открыть документ, прежде чем я смогу получить предварительный просмотр.

Что вы посоветуете здесь? Где поставить предварительный просмотр для UIManagedDocument?

ответ

1

Вы должны сохранить изображение под (app_directory)/Library/Caches. Таким образом, iCloud не повлияет на ваше приложение.

+3

Но так. Если я переведу документ в iCloud. Предварительный просмотр является локальным на этом компьютере. И он не синхронизируется над iCloud. Это означает, что мне нужно обновить предварительный просмотр на каждом клиенте. И для этого мне нужно каждый раз открывать/закрывать каждый документ. – V1ru8

+0

Затем вы должны сохранить его в (app_directory)/Documents. Все, что входит в эту папку, автоматически синхронизируется с iCloud. – Jorsh

+0

Хорошо, что решения не кажутся идеальными. Но я поеду с/Library/Caches, а затем регенерирует все предварительные просмотры на всех устройствах. – V1ru8

2

Вы можете хранить свои документы в Документы вашей вездесущности контейнера каталогов и документов просмотра файлов в директории контейнера данных.

Если имена файлов предварительного просмотра будут основаны на именах документов, вы сможете использовать результат запроса метаданных, чтобы получить имена документов, а затем разрешить URL-адреса предварительного просмотра документа.

Таким образом, вы можете загрузить только предварительный просмотр документа, но не весь документ.

2

Я не знаю, о UIManagedDocuments, но в случае UIDocument Я бы рекомендовал использовать NSFileWrapper в качестве формата файла (где документ фактически в комплекте папку) и сохранить предварительный просмотр в документе, а «Preview.jpg» (или .png) внутри папки с пометкой «QuickLook». Таким образом, вы также получите предварительный просмотр в Finder на Mac (бесплатно).

Конечно, это может быть или не быть идеальным решением (также в зависимости от того, является ли ваш документ текстовым). Но это может быть хорошим советом для работы с предварительными просмотрами для UIDocuments в целом.