Метод QLPreviewControllerDelegate DidSaveEditedCopyOf вызывается с URL-адресом, не имеющим содержимого.IOS

Программируем под IOS
Ответить Пред. темаСлед. тема
Anonymous
 Метод QLPreviewControllerDelegate DidSaveEditedCopyOf вызывается с URL-адресом, не имеющим содержимого.

Сообщение Anonymous »


Я использую QLPreviewController для отображения различных типов документов. Все эти документы можно редактировать, возвращая QLPreviewItemEditingMode.createCopy или QLPreviewItemEditingMode.updateContents в метод экземпляра previewController(_:editingModeFor:) QLPreviewControllerDelegate.

При использовании QLPreviewItemEditingMode.updateContents все работает как положено. Когда пользователь редактирует документ, previewController(_:didUpdateContentsOf:) вызывается метод QLPreviewControllerDelegate, и доступ к обновленному содержимому можно получить с помощью URL-адреса, который был передан в источник данных QLPreviewController.

Проблема начинается, когда я хочу использовать QLPreviewItemEditingMode.createCopy. Когда пользователь прекращает редактирование документа, вызывается метод previewController(_:didSaveEditedCopyOf:at:) QLPreviewControllerDelegate с параметром modifiedContentsURL типа URL. При первом вызове этого метода я читаю данные из modifiedContentsURL и успешно получаю их. Но каждый последующий вызов после первого возвращает URL-адрес, по которому нет данных для получения.

Объект, соответствующий протоколу QLPreviewControllerDelegate, выглядит следующим образом:

окончательный класс CustomQLPreviewDelegate: NSObject, QLPreviewControllerDelegate { var onSave: ((Данные?) -> Void)? func PreviewController (_ контроллер: QLPreviewController, EditModeForviewItem: QLPreviewItem) -> QLPreviewItemEditingMode { .createCopy } funcviewController(_ контроллер: QLPreviewController, DidSaveEditedCopyOfviewItem: QLPreviewItem, at ModifiedContentsURL: URL) { // ноль каждый раз после первого вызова пусть данные = попробую? Данные (contentsOf:modifiedContentsURL) onSave? (данные) } } Я также проверил отредактированный документ в Finder, и его отредактированная копия генерируется после первого вызова, затем удаляется после второго вызова и никогда не создается снова при последующих вызовах.

Я просто хочу убедиться, что все делаю правильно, прежде чем сообщать об ошибке в Apple.
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «IOS»