Spec-Zone .ru
спецификации, руководства, описания, API

Библиотека разработчика Mac

Разработчик

Ссылка платформы CoreFoundation ссылка CFURLEnumerator

Опции
Развертывание Target:

На этой странице
Язык:

Ссылка CFURLEnumerator

CFURLEnumerator обеспечивает функции для перечисления каталогов и томов файловой системы. Каждый перечислимый элемент возвращается как a CFURLRef объект.

Создать каталог CFURLEnumerator объект, используйте CFURLEnumeratorCreateForDirectoryURL функция. Создать объем CFURLEnumerator объект, используйте CFURLEnumeratorCreateForMountedVolumes функция. Можно настроить поведение перечислителя путем предоставления возможностей к этим функциям. Эти опции описаны в “Enumerator Options”.

Другие процессы могут изменить файловую систему при перечислении каталога или томов файловой системы. Если Ваше приложение должно знать об изменениях файловой системы, происходящих во время перечисления, необходимо зарегистрировать для уведомлений изменения файловой системы в Событиях Файловой системы API перед началом перечисления. Если часть файловой системы, которую Вы перечисляете, изменяется, можно хотеть перезапустить перечисление. См. Руководство по программированию Событий Файловой системы для получения дополнительной информации.

Функции

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

    Объявление

    Swift

    func CFURLEnumeratorCreateForDirectoryURL(_ alloc: CFAllocator!, _ directoryURL: CFURL!, _ options: CFURLEnumeratorOptions, _ propertyKeys: CFArray!) -> CFURLEnumerator!

    Objective C

    CFURLEnumeratorRef CFURLEnumeratorCreateForDirectoryURL ( CFAllocatorRef alloc, CFURLRef directoryURL, CFURLEnumeratorOptions option, CFArrayRef propertyKeys );

    Параметры

    alloc

    Средство выделения памяти для использования. Если NULL, средство выделения по умолчанию используется.

    directoryURL

    URL каталога для перечисления.

    options

    Немного массива опций поведения перечислителя.

    propertyKeys

    Массив ключей свойства файла для упреждающей выборки для каждого перечислил URL. Может быть NULL.

    Возвращаемое значение

    Создаваемый перечислитель каталога.

    Обсуждение

    Перечислители каталога не убывают в подкаталоги directoryURL по умолчанию. Для создания рекурсивного перечислителя включайте kCFURLEnumeratorDescendRecursively опция в options.

    Указание свойств упреждающей выборки позволяет перечислителю оптимизировать доступ к устройствам при помощи объемных операций. Однако Вы не должны выбирать с упреждением свойства, которые не необходимы, потому что выполнение так может ухудшить производительность.

    Создаваемый перечислитель каталога генерирует URLs с тем же типом как directoryURL. Если directoryURL ссылка на файл URL, затем перечислил URLs, ссылка на файл URLs. Если directoryURL путь к файлу URL, затем перечислил URLs, путь к файлу URLs.

    В некоторых областях иерархии файловой системы ссылка на файл не может быть сгенерирован URLs. Перечислитель всегда генерирует путь к файлу URLs для этих областей.

    Эта функция игнорирует kCFURLEnumeratorGenerateFileReferenceURLs опция.

    Оператор импорта

    Objective C

    @import CoreFoundation;

    Swift

    import CoreFoundation

    Доступность

    Доступный в OS X v10.6 и позже.

  • Создает и возвращает перечислитель объема с предоставленными возможностями поведения перечислителя и свойствами, которые будут выбраны с упреждением.

    Объявление

    Swift

    func CFURLEnumeratorCreateForMountedVolumes(_ alloc: CFAllocator!, _ options: CFURLEnumeratorOptions, _ propertyKeys: CFArray!) -> CFURLEnumerator!

    Objective C

    CFURLEnumeratorRef CFURLEnumeratorCreateForMountedVolumes ( CFAllocatorRef alloc, CFURLEnumeratorOptions option, CFArrayRef propertyKeys );

    Параметры

    alloc

    Средство выделения памяти для использования. Если NULL, средство выделения по умолчанию используется.

    options

    Немного массива опций поведения перечислителя.

    propertyKeys

    Массив ключей свойства файла для упреждающей выборки для каждого перечислил URL. Может быть NULL.

    Возвращаемое значение

    Создаваемый перечислитель объема.

    Обсуждение

    Перечислители объема генерируют путь к файлу URLs по умолчанию. Для генерации ссылки на файл URLs вместо этого, включайте kCFURLEnumeratorGenerateFileReferenceURLs опция в options.

    Указание свойств упреждающей выборки позволяет перечислителю оптимизировать доступ к устройствам при помощи объемных операций. Однако Вы не должны выбирать с упреждением свойства, которые не необходимы, потому что выполнение так может ухудшить производительность.

    Эта функция игнорирует kCFURLEnumeratorDescendRecursively и kCFURLEnumeratorSkipPackageContents опции.

    Оператор импорта

    Objective C

    @import CoreFoundation;

    Swift

    import CoreFoundation

    Доступность

    Доступный в OS X v10.6 и позже.

  • Совершенствует перечислитель к следующему URL.

    Объявление

    Swift

    func CFURLEnumeratorGetNextURL(_ enumerator: CFURLEnumerator!, _ url: UnsafeMutablePointer<Unmanaged<CFURL>?>, _ error: UnsafeMutablePointer<Unmanaged<CFError>?>) -> CFURLEnumeratorResult

    Objective C

    CFURLEnumeratorResult CFURLEnumeratorGetNextURL ( CFURLEnumeratorRef enumerator, CFURLRef *url, CFErrorRef *error );

    Параметры

    enumerator

    Перечислитель.

    url

    Если эта функция возвращается, содержит следующий URL kCFURLEnumeratorSuccess.

    error

    Если эта функция возвращается, содержит информацию об ошибке kCFURLEnumeratorError. Информация об ошибке сохраняется и должна быть выпущена. Может быть NULL.

    Возвращаемое значение

    Результат усовершенствования перечислителя.

    Обсуждение

    Если возвращается эта функция kCFURLEnumeratorEnd, перечисление закончилось.

    Возвращаемое значение kCFURLEnumeratorError не подразумевает, что закончилось перечисление.

    Если возвращается эта функция kCFURLEnumeratorError, пользовательский информационный словарь error заполняется со следующими записями (когда возможный):

    Оператор импорта

    Objective C

    @import CoreFoundation;

    Swift

    import CoreFoundation

    Доступность

    Доступный в OS X v10.6 и позже.

  • Возвращает число уровней убывал, рекурсивный перечислитель каталога.

    Объявление

    Swift

    func CFURLEnumeratorGetDescendentLevel(_ enumerator: CFURLEnumerator!) -> CFIndex

    Objective C

    CFIndex CFURLEnumeratorGetDescendentLevel ( CFURLEnumeratorRef enumerator );

    Параметры

    enumerator

    Перечислитель каталога.

    Возвращаемое значение

    Текущий происходящий уровень перечислителя.

    Обсуждение

    Дочерние элементы начального каталога на уровне 1. Каждый раз, когда рекурсивный перечислитель убывает в подкаталог, он добавляет 1 к происходящему уровню. Это вычитает 1 из его уровня, когда это заканчивает подкаталог и продолжает перечислять родительский каталог.

    Оператор импорта

    Objective C

    @import CoreFoundation;

    Swift

    import CoreFoundation

    Доступность

    Доступный в OS X v10.6 и позже.

  • Говорит рекурсивному перечислителю не убывать в каталог в URL, возвращенном новым вызовом к CFURLEnumeratorGetNextURL функция.

    Объявление

    Swift

    func CFURLEnumeratorSkipDescendents(_ enumerator: CFURLEnumerator!)

    Objective C

    void CFURLEnumeratorSkipDescendents ( CFURLEnumeratorRef enumerator );

    Параметры

    enumerator

    Перечислитель.

    Обсуждение

    Вызов к этой функции проигнорирован в следующих случаях:

    • CFURLEnumeratorGetNextURL функция никогда не вызывалась с этим перечислителем.

    • Последний URL, возвращенный CFURLEnumeratorGetNextURL функция не является каталогом.

    • Перечислитель не является перечислителем каталога, создававшимся с kCFURLEnumeratorDescendRecursively опция.

    Оператор импорта

    Objective C

    @import CoreFoundation;

    Swift

    import CoreFoundation

    Доступность

    Доступный в OS X v10.6 и позже.

  • Возвращает непрозрачный идентификатор типа для непрозрачного типа CFURLEnumerator.

    Объявление

    Swift

    func CFURLEnumeratorGetTypeID() -> CFTypeID

    Objective C

    CFTypeID CFURLEnumeratorGetTypeID ( void );

    Возвращаемое значение

    CFURLEnumerator непрозрачный идентификатор типа.

    Оператор импорта

    Objective C

    @import CoreFoundation;

    Swift

    import CoreFoundation

    Доступность

    Доступный в OS X v10.6 и позже.

  • Эта функция не реализована, таким образом, она не выполняет работы. Используйте События Файловой системы API для обнаружения изменений в файловой системе. См. Руководство по программированию Событий Файловой системы для получения дополнительной информации.

    Объявление

    Objective C

    Boolean CFURLEnumeratorGetSourceDidChange ( CFURLEnumeratorRef enumerator );

    Параметры

    enumerator

    Перечислитель.

    Возвращаемое значение

    Возвраты false.

    Оператор импорта

    Objective C

    @import CoreFoundation;

    Доступность

    Доступный в OS X v10.6 и позже.

    Осуждаемый в OS X v10.7.

Типы данных

Типы данных перечислителя

  • Ссылка на a CFURLEnumerator объект.

    Объявление

    Swift

    typealias CFURLEnumeratorRef = CFURLEnumerator

    Objective C

    typedef const struct __CFURLEnumerator *CFURLEnumeratorRef;

    Оператор импорта

    Objective C

    @import CoreFoundation;

    Swift

    import CoreFoundation

    Доступность

    Доступный в OS X v10.6 и позже.

Константы

Константы перечислителя

  • Опции для управления поведением перечислителя.

    Объявление

    Swift

    struct CFURLEnumeratorOptions : RawOptionSetType { init(_ rawValue: CFOptionFlags) init(rawValue rawValue: CFOptionFlags) static var DefaultBehavior: CFURLEnumeratorOptions { get } static var DescendRecursively: CFURLEnumeratorOptions { get } static var SkipInvisibles: CFURLEnumeratorOptions { get } static var GenerateFileReferenceURLs: CFURLEnumeratorOptions { get } static var SkipPackageContents: CFURLEnumeratorOptions { get } static var IncludeDirectoriesPreOrder: CFURLEnumeratorOptions { get } static var IncludeDirectoriesPostOrder: CFURLEnumeratorOptions { get } }

    Objective C

    enum { kCFURLEnumeratorDefaultBehavior = 0, kCFURLEnumeratorDescendRecursively = 1UL << 0, kCFURLEnumeratorSkipInvisibles = 1UL << 1, kCFURLEnumeratorGenerateFileReferenceURLs = 1UL << 2, kCFURLEnumeratorSkipPackageContents = 1UL << 3, kCFURLEnumeratorIncludeDirectoriesPreOrder = 1UL << 4, kCFURLEnumeratorIncludeDirectoriesPostOrder = 1UL << 5 }; typedef CFOptionFlags CFURLEnumeratorOptions;

    Константы

    • DefaultBehavior

      kCFURLEnumeratorDefaultBehavior

      Перечислитель выполняет свое поведение по умолчанию.

      Доступный в OS X v10.7 и позже.

    • DescendRecursively

      kCFURLEnumeratorDescendRecursively

      Перечислитель рекурсивно вызывает в каждый перечисленный подкаталог.

      Эта опция применяется только к перечислителям каталога.

      Можно перечислить каталоги, с которыми рекурсивный перечислитель встречается способом перед порядком, видом постпорядка или обоими, путем обеспечения комбинации kCFURLEnumeratorIncludeDirectoriesPreOrder и kCFURLEnumeratorIncludeDirectoriesPostOrder опции. Если Вы не предоставляете никакую возможность, рекурсивный перечислитель ведет себя, как будто это было предоставлено kCFURLEnumeratorIncludeDirectoriesPreOrder опция.

      Доступный в OS X v10.6 и позже.

    • SkipInvisibles

      kCFURLEnumeratorSkipInvisibles

      Перечислитель пропускает «скрытые» или «невидимые» объекты.

      Доступный в OS X v10.6 и позже.

    • GenerateFileReferenceURLs

      kCFURLEnumeratorGenerateFileReferenceURLs

      Перечислитель генерирует ссылку на файл URLs вместо пути к файлу URLs.

      Эта опция применяется только к перечислителям объема.

      Доступный в OS X v10.6 и позже.

    • SkipPackageContents

      kCFURLEnumeratorSkipPackageContents

      Перечислитель пропускает содержание каталога пакета.

      Эта опция применяется только к перечислителям каталога.

      Доступный в OS X v10.6 и позже.

    • IncludeDirectoriesPreOrder

      kCFURLEnumeratorIncludeDirectoriesPreOrder

      Если предоставленный вместе с kCFURLEnumeratorDescendRecursively опция, рекурсивный перечислитель возвращает URL каталога прежде, чем возвратить URLs потомков каталога.

      Доступный в OS X v10.7 и позже.

    • IncludeDirectoriesPostOrder

      kCFURLEnumeratorIncludeDirectoriesPostOrder

      Если предоставленный вместе с kCFURLEnumeratorDescendRecursively опция, рекурсивный перечислитель возвращает URL каталога после возврата URLs потомков каталога.

      Рекурсивный перечислитель постпорядка возвращается kCFURLEnumeratorDirectoryPostOrderSuccess когда это возвращает URL каталога после возврата потомков каталога.

      Доступный в OS X v10.7 и позже.

    Оператор импорта

    Objective C

    @import CoreFoundation;

    Swift

    import CoreFoundation

    Доступность

    Доступный в OS X v10.6 и позже.

  • Результат кодирует от CFURLEnumeratorGetNextURL функция.

    Объявление

    Swift

    enum CFURLEnumeratorResult : CFIndex { case Success case End case Error case DirectoryPostOrderSuccess }

    Objective C

    enum { kCFURLEnumeratorSuccess = 1, kCFURLEnumeratorEnd = 2, kCFURLEnumeratorError = 3, kCFURLEnumeratorDirectoryPostOrderSuccess = 4 }; typedef CFIndex CFURLEnumeratorResult;

    Константы

    • Success

      kCFURLEnumeratorSuccess

      Перечислитель был усовершенствован успешно и возвратил допустимый URL.

      Доступный в OS X v10.6 и позже.

    • End

      kCFURLEnumeratorEnd

      Перечисление завершено.

      Доступный в OS X v10.6 и позже.

    • Error

      kCFURLEnumeratorError

      Ошибка произошла во время перечисления. error параметр функции заполняется с информацией об ошибке.

      Доступный в OS X v10.6 и позже.

    • DirectoryPostOrderSuccess

      kCFURLEnumeratorDirectoryPostOrderSuccess

      Рекурсивный перечислитель постпорядка возвратил URL для каталога, возвратив URLs для всех потомков каталога.

      Доступный в OS X v10.7 и позже.

    Оператор импорта

    Objective C

    @import CoreFoundation;

    Swift

    import CoreFoundation

    Доступность

    Доступный в OS X v10.6 и позже.