NSFileProviderExtension
Оператор импорта
Swift
import UIKit
Objective C
@import UIKit;
Доступность
Доступный в iOS 8.0 и позже.
NSFileProviderExtension
основной класс для расширения Провайдера Файла. Провайдер файла действует как бэкэнд для расширения Средства выбора Документа. Это гарантирует, что весь URLs, возвращенный средством выбора документа, поддерживается файлами на диске. Это может реагировать и на скоординированное чтение и на скоординированные операции записи из приложения узла, позволяя Вам загрузить и загрузить файлы по мере необходимости. Если Вы хотите поддерживать открытые и режимы пересылки, необходимо обеспечить провайдера файла.
По умолчанию провайдер файла совместно использует контейнер с Вашим расширением Контроллера Представления Средства выбора Документа. При создании провайдера файла необходимо разделить на подклассы NSFileProviderExtension
управлять содержанием этого контейнера.
-
Возвращает заполнителя URL для данного документа URL.
Объявление
Параметры
url
Документ URL, который будет преобразован.
Возвращаемое значение
Заполнитель URL для данного документа.
Обсуждение
Этот метод отображает файл URLs в их соответствующего заполнителя URLs. Вы обычно вызываете этот метод для генерации заполнителя URL перед вызовом
writePlaceholderAtURL:withMetadata:error:
.Вы не должны переопределять этот метод.
Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 8.0 и позже.
-
Пишет заполнитель документа с предоставленными метаданными.
Объявление
Swift
class func writePlaceholderAtURL(_
placeholderURL
: NSURL, withMetadatametadata
: [NSObject : AnyObject], errorerror
: NSErrorPointer) -> BoolObjective C
+ (BOOL)writePlaceholderAtURL:(NSURL *)
placeholderURL
withMetadata:(NSDictionary *)metadata
error:(NSError **)error
Параметры
placeholderURL
Заполнитель URL для документа. Можно генерировать заполнителя URL из документа URL путем вызова
placeholderURLForURL:
.metadata
Метаданные для этого документа.
error
Если ошибка происходит при записи заполнителя, параметр ошибок установлен в
NSError
объект, описывающий проблему. Если Вы не интересуетесь деталями ошибки, можно передать вNULL
.Возвращаемое значение
Yes
, если заполнитель записан успешно; иначеNO
false
.Обсуждение
Вызовите этот метод каждый раз, когда необходимо создать заполнителя для документа. Метаданные, которые Вы обеспечиваете, зависят в основном от потребностей Вашего пользовательского интерфейса средства выбора документа; однако, общие опции включают размер файла, имя файла и миниатюры.
Вы не должны переопределять этот метод.
Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 8.0 и позже.
См. также
-
Возвращает корневой URL для всех совместно используемых документов.
Возвращаемое значение
URL в совместно используемом контейнере средства выбора Вашего документа.
Обсуждение
Этот метод возвраты <контейнерный URL>
/File Provider Storage
. Где контейнерный URL является значением, возвращеннымcontainerURLForSecurityApplicationGroupIdentifier:
метод.Контейнерный URL обращается к каталогу контейнера группы приложений, совместно использованному
UIDocumentPickerExtensionViewController
иNSFileProviderExtension
расширения. Можно указать этот совместно используемый контейнер с помощьюNSExtensionFileProviderDocumentGroup
введите расширение Провайдера Файлаinfo.plist
файл.Вы не должны переопределять этот метод.
Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 8.0 и позже.
-
Обеспечивает идентификатор цели для скоординированных чтений и записей.
Возвращаемое значение
Идентификатор цели для расширения Синхронизации Средства поиска.
Обсуждение
Этот метод возвращает уникальную строку, которая может использоваться в качестве идентификатора цели для координации файла. Когда выполнение скоординировало чтения и записи, и Контроллер Представления Средства выбора Документа и расширения Провайдера Файла должны использовать этот идентификатор. Использование этого идентификатора помогает координате расширений друг с другом и предотвращает возможные мертвые блокировки между этими двумя расширениями.
Передайте этот идентификатор координатору файла
setPurposeIdentifier:
метод прежде, чем выполнить скоординированное чтение или запись в провайдере файла.Этот метод возвращает содержание идентификатора пакета приложения. Вы не должны переопределять этот метод.
Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 8.0 и позже.
-
Возвращает уникальный идентификатор для данного URL.
Объявление
Параметры
url
URL совместно используемого документа.
Возвращаемое значение
Строка, однозначно определяющая документ на основе его URL.
Обсуждение
Определяет статическое отображение между URLs и их персистентными идентификаторами. По умолчанию идентификатор является просто относительным путем документа от корневого URL, возвращенного
documentStorageURL
метод.Можно переопределить этот метод для обеспечения различного отображения. Если Вы делаете, необходимо также переопределить
URLForItemWithPersistentIdentifier:
.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 8.0 и позже.
См. также
-
Возвращает URL для данного персистентного идентификатора.
Объявление
Параметры
identifier
Персистентный идентификатор для совместно используемого документа.
Возвращаемое значение
URL совместно используемого документа.
Обсуждение
Этот метод является инверсией
persistentIdentifierForItemAtURL:
. Это обеспечивает URL для данного идентификатора.Можно переопределить этот метод для обеспечения различного отображения. Если Вы делаете, необходимо также переопределить
persistentIdentifierForItemAtURL:
.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 8.0 и позже.
См. также
-
Говорит расширению Провайдера Файла, что изменился документ.
Объявление
Swift
func itemChangedAtURL(_
url
: NSURL)Objective C
- (void)itemChangedAtURL:(NSURL *)
url
Параметры
url
URL совместно используемого документа.
Обсуждение
Системные вызовы этот метод, когда содержание совместно используемого файла изменяется, обычно в ответ на скоординированные записи из приложения узла.
Необходимо переопределить этот метод и реагировать на эти изменения. Не вызывать
super
в Ваших реализациях.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 8.0 и позже.
-
Создает заполнителя для данного URL.
Объявление
Параметры
url
URL совместно используемого документа.
completionHandler
Блок, что создаются системные вызовы после заполнителя.
Обработчик завершения берет следующий параметр:
error
Если заполнитель был успешно записан в диск, это значение
nil
. Иначе, это содержитNSError
объект, описывающий ошибку.Обсуждение
Системные вызовы этот метод для обеспечения заполнителя для любых документов, возвращенных Средством выбора Документа, но не сохраненный локально. Оба
providePlaceholderAtURL:completionHandler:
иstartProvidingItemAtURL:completionHandler:
методы могут быть инициированы, поскольку другие процессы пытаются получить доступ к документам, предоставленным расширением Средства выбора Документа. Эти методы можно вызвать в ответ на взаимодействие с пользователем с контроллером представления средства выбора документа, или вследствие скоординированного чтения или скоординированной записи URL документа.Точно, какие методы инициированы и их последовательность зависит от намерения доступа. Например, скоординированное чтение с помощью
NSFileCoordinatorReadingImmediatelyAvailableMetadataOnly
опция инициировала только создание заполнителя. В результате Ваше расширение не должно создавать зависимости между этими методами. Их можно вызвать в любом порядке.Переопределите этот метод, чтобы обеспечить заполнителя для данного URL После записи заполнителя к диску, вызвать предоставленный обработчик завершения. Если какие-либо ошибки происходят во время этого процесса, передают ошибку обработчику завершения. Система тогда пасует назад ошибку к исходному скоординированному чтению или записи.
Необходимо переопределить этот метод. Не вызывать
super
в Ваших реализациях.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 8.0 и позже.
-
Обеспечивает фактический файл на диске для заполнителя.
Объявление
Параметры
url
URL совместно используемого документа.
completionHandler
Блок, который вызовут, как только файл доступен.
Обработчик завершения берет следующий параметр:
error
Если документ был представлен, это значение
nil
. Иначе, это содержитNSError
объект, описывающий ошибку.Обсуждение
Этот метод вызывают каждый раз, когда другой процесс пытается получить доступ к заполнителю для совместно используемого документа.
Переопределите этот метод, чтобы загрузить, создать, или иначе обеспечить файл. Как только файл доступен, вызовите предоставленный обработчик завершения. Если какие-либо ошибки происходят во время этого процесса, передают ошибку обработчику завершения. Система тогда пасует назад ошибку к исходному скоординированному чтению или записи.
Необходимо переопределить этот метод. Не вызывать
super
в Ваших реализациях.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 8.0 и позже.
-
Говорит расширению Провайдера Файла, что к данному документу больше не получают доступ.
Объявление
Swift
func stopProvidingItemAtURL(_
url
: NSURL)Objective C
- (void)stopProvidingItemAtURL:(NSURL *)
url
Параметры
url
URL совместно используемого документа.
Обсуждение
Системные вызовы этот метод, как только все другие процессы прекратили получать доступ к данному файлу. Можно переопределить этот метод для удаления документа из локальной файловой системы, таким образом освободив пространство памяти. Необходимо обеспечить заполнителей для любых документов, которые Вы удаляете.
Даже если Вы только обеспечиваете пустую реализацию, необходимо переопределить этот метод. Не вызывать
super
в Ваших реализациях.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 8.0 и позже.