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

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

Разработчик

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

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

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

Ссылка CFStringTokenizer

CFStringTokenizer позволяет Вам маркировать строки в слова, предложения или абзацы нейтральным языком способом. Это поддерживает языки, такие как японский язык и китайцы, не разграничивающие слова пробелами, а также немецкие составные объекты de-соединения. Можно получить латинскую запись для маркеров. Это также обеспечивает определение языка API.

Можно использовать CFStringTokenizer для повреждения строки в маркеры (подстроки) на основе слов, предложений или абзацев. При создании токенизатора можно предоставить опции далее изменить токенизацию — посмотрите Модификаторы Токенизации.

Кроме того, с CFStringTokenizer:

  • Вы можете немецкие составные объекты de-составного-объекта

  • Можно идентифицировать язык, используемый в строке (использование CFStringTokenizerCopyBestStringLanguage)

  • Можно получить латинскую запись для маркеров

Для нахождения маркера, включающего символ, указанный индексом символа, и устанавливающего его как текущий маркер Вы вызываете CFStringTokenizerGoToTokenAtIndex. Чтобы совершенствоваться к следующему маркеру и установить его как текущий маркер, Вы вызываете CFStringTokenizerAdvanceToNextToken. Для получения диапазона текущего маркера Вы вызываете CFStringTokenizerGetCurrentTokenRange. Можно использовать CFStringTokenizerCopyCurrentTokenAttribute получить атрибут текущего маркера. Если текущий маркер является составным объектом, можно вызвать CFStringTokenizerGetCurrentSubTokens получать подмаркеры или полученные подмаркеры, содержавшиеся в составном маркере. Для предположения языка строки Вы вызываете CFStringTokenizerCopyBestStringLanguage.

Функции

  • Возвращает токенизатор для данной строки.

    Объявление

    Swift

    func CFStringTokenizerCreate(_ alloc: CFAllocator!, _ string: CFString!, _ range: CFRange, _ options: CFOptionFlags, _ locale: CFLocale!) -> CFStringTokenizer!

    Objective C

    CFStringTokenizerRef CFStringTokenizerCreate ( CFAllocatorRef alloc, CFStringRef string, CFRange range, CFOptionFlags options, CFLocaleRef locale );

    Параметры

    alloc

    Средство выделения для использования для выделения памяти для нового объекта. Передача NULL или kCFAllocatorDefault использовать текущее средство выделения по умолчанию.

    string

    Строка для маркирования.

    range

    Диапазон символов в string маркировать.

    options

    Опция модуля токенизации, указывающая как string должен маркироваться. Опции могут быть изменены путем добавления опций модификатора модуля сказать токенизатору подготавливать указанные атрибуты, когда он маркирует string.

    Для возможных значений посмотрите Модификаторы Токенизации.

    locale

    Локаль, указывающая язык - или специфичное для области поведение для токенизации. Можно передать NULL для использования системной локали по умолчанию, несмотря на то, что это обычно не рекомендуется — вместо этого, используют CFLocaleCopyCurrent указать локаль текущего пользователя.

    Для получения дополнительной информации посмотрите Модификаторы Токенизации.

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

    Токенизатор для анализа диапазона range из string для данной локали и опций. Владение соблюдает Создать Правило.

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

    Objective C

    @import CoreFoundation;

    Swift

    import CoreFoundation

    Доступность

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

  • Устанавливает строку для токенизатора.

    Объявление

    Swift

    func CFStringTokenizerSetString(_ tokenizer: CFStringTokenizer!, _ string: CFString!, _ range: CFRange)

    Objective C

    void CFStringTokenizerSetString ( CFStringTokenizerRef tokenizer, CFStringRef string, CFRange range );

    Параметры

    tokenizer

    Токенизатор.

    string

    Строка для токенизатора для маркирования.

    range

    Диапазон строки для маркирования. Диапазон символов в строке, которая будет маркироваться. Указанный диапазон не должен превышать длину строки.

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

    Objective C

    @import CoreFoundation;

    Swift

    import CoreFoundation

    Доступность

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

  • Совершенствует токенизатор к следующему маркеру и наборам что как текущий маркер.

    Объявление

    Swift

    func CFStringTokenizerAdvanceToNextToken(_ tokenizer: CFStringTokenizer!) -> CFStringTokenizerTokenType

    Objective C

    CFStringTokenizerTokenType CFStringTokenizerAdvanceToNextToken ( CFStringTokenizerRef tokenizer );

    Параметры

    tokenizer

    Объект CFStringTokenizer.

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

    Тип маркера, если токенизатор преуспел в том, чтобы найти маркер и установить его как текущий маркер. Возвраты kCFStringTokenizerTokenNone если токенизатору не удалось найти маркер. Для возможных значений посмотрите CFStringTokenizerTokenType.

    Обсуждение

    Если нет никакого предыдущего вызова к CFStringTokenizerGoToTokenAtIndex или CFStringTokenizerAdvanceToNextToken, функция считает первый маркер в диапазоне указанным CFStringTokenizerCreate. Если существует предыдущее, успешное, вызовите к CFStringTokenizerGoToTokenAtIndex или CFStringTokenizerAdvanceToNextToken и существует текущий маркер, доходы к следующему маркеру. Если маркер найден, он установлен как текущий маркер и функциональные возвраты true; иначе текущий маркер лишен законной силы и функциональные возвраты false.

    Можно получить диапазон и атрибут маркерного вызова CFStringTokenizerGetCurrentTokenRange и CFStringTokenizerCopyCurrentTokenAttribute. Если маркер является составным объектом (с типом kCFStringTokenizerTokenHasSubTokensMask или kCFStringTokenizerTokenHasDerivedSubTokensMask), можно получить его подмаркеры и (или) полученные подмаркеры путем вызова CFStringTokenizerGetCurrentSubTokens.

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

    Objective C

    @import CoreFoundation;

    Swift

    import CoreFoundation

    Доступность

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

  • Находит маркер, включающий символ в данный индекс и устанавливающий его как текущий маркер.

    Объявление

    Swift

    func CFStringTokenizerGoToTokenAtIndex(_ tokenizer: CFStringTokenizer!, _ index: CFIndex) -> CFStringTokenizerTokenType

    Objective C

    CFStringTokenizerTokenType CFStringTokenizerGoToTokenAtIndex ( CFStringTokenizerRef tokenizer, CFIndex index );

    Параметры

    tokenizer

    Объект CFStringTokenizer.

    index

    Индекс символа в строке для tokenizer.

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

    Тип маркера, если токенизатор преуспел в том, чтобы найти маркер и установить его как текущий маркер. Возвраты kCFStringTokenizerTokenNone если токенизатору не удалось найти маркер. Для возможных значений посмотрите CFStringTokenizerTokenType.

    Обсуждение

    Можно получить диапазон и атрибут маркерного вызова CFStringTokenizerGetCurrentTokenRange и CFStringTokenizerCopyCurrentTokenAttribute. Если маркер является составным объектом (с типом kCFStringTokenizerTokenHasSubTokensMask или kCFStringTokenizerTokenHasDerivedSubTokensMask), можно получить его подмаркеры и (или) полученные подмаркеры путем вызова CFStringTokenizerGetCurrentSubTokens.

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

    Objective C

    @import CoreFoundation;

    Swift

    import CoreFoundation

    Доступность

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

  • Возвращает данный атрибут текущего маркера.

    Объявление

    Swift

    func CFStringTokenizerCopyCurrentTokenAttribute(_ tokenizer: CFStringTokenizer!, _ attribute: CFOptionFlags) -> AnyObject!

    Objective C

    CFTypeRef CFStringTokenizerCopyCurrentTokenAttribute ( CFStringTokenizerRef tokenizer, CFOptionFlags attribute );

    Параметры

    tokenizer

    Объект CFStringTokenizer.

    attribute

    Маркерный атрибут для получения. Значение должно быть kCFStringTokenizerAttributeLatinTranscription, или kCFStringTokenizerAttributeLanguage.

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

    Атрибут, указанный attribute из текущего маркера, или NULL если текущий маркер не имеет указанного атрибута или нет никакого текущего маркера. Владение соблюдает Создать Правило.

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

    Objective C

    @import CoreFoundation;

    Swift

    import CoreFoundation

    Доступность

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

  • Возвращает диапазон текущего маркера.

    Объявление

    Swift

    func CFStringTokenizerGetCurrentTokenRange(_ tokenizer: CFStringTokenizer!) -> CFRange

    Objective C

    CFRange CFStringTokenizerGetCurrentTokenRange ( CFStringTokenizerRef tokenizer );

    Параметры

    tokenizer

    Объект CFStringTokenizer.

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

    Диапазон текущего маркера, или {kCFNotFound, 0} если нет никакого текущего маркера.

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

    Objective C

    @import CoreFoundation;

    Swift

    import CoreFoundation

    Доступность

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

  • Получает подмаркеры или полученные подмаркеры, содержавшиеся в составном маркере.

    Объявление

    Swift

    func CFStringTokenizerGetCurrentSubTokens(_ tokenizer: CFStringTokenizer!, _ ranges: UnsafeMutablePointer<CFRange>, _ maxRangeLength: CFIndex, _ derivedSubTokens: CFMutableArray!) -> CFIndex

    Objective C

    CFIndex CFStringTokenizerGetCurrentSubTokens ( CFStringTokenizerRef tokenizer, CFRange *ranges, CFIndex maxRangeLength, CFMutableArrayRef derivedSubTokens );

    Параметры

    tokenizer

    Объект CFStringTokenizer.

    ranges

    По возврату, массиву CFRanges, содержащего диапазоны подмаркеров. Диапазоны относительно строки, указанной к CFStringTokenizerCreate. Этот параметр может быть NULL.

    maxRangeLength

    Максимальное количество диапазонов для возврата.

    derivedSubTokens

    CFMutableArray, к которому должны быть добавлены полученные подмаркеры. Этот параметр может быть NULL.

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

    Число диапазонов возвратилось.

    Обсуждение

    Если тип маркера kCFStringTokenizerTokenNone, ranges массив и derivedSubTokens массив является нетронутым, и возвращаемое значение 0.

    Если тип маркера kCFStringTokenizerTokenNormal, ranges массиву заполнили один элемент со всем диапазоном маркера (если maxRangeLength > = 1) и строка, взятая от всего маркерного диапазона, добавляется к derivedSubTokens массив и возвращаемое значение 1.

    Если тип маркера kCFStringTokenizerTokenHasSubTokensMask или kCFStringTokenizerTokenHasDerivedSubTokensMask, массив диапазонов заполнен в столькими же элементов, сколько существуют подмаркеры (до предела maxRangeLength).

    derivedSubTokens массив будет иметь sub маркеры, добавил, даже когда sub маркер является подстрокой маркера. Если тип маркера kCFStringTokenizerTokenHasSubTokensMask, обычные неполученные подмаркеры добавляются к derivedSubTokens массив.

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

    Objective C

    @import CoreFoundation;

    Swift

    import CoreFoundation

    Доступность

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

  • Предполагает язык данной строки и возвращает предположение как строку BCP 47.

    Объявление

    Swift

    func CFStringTokenizerCopyBestStringLanguage(_ string: CFString!, _ range: CFRange) -> CFString!

    Objective C

    CFStringRef CFStringTokenizerCopyBestStringLanguage ( CFStringRef string, CFRange range );

    Параметры

    string

    Строка для тестирования для идентификации языка.

    range

    Диапазон string использовать для теста. Если NULL, первая несколько сотен символов строки исследованы.

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

    Язык в форме BCP 47, или NULL если язык в string не мог быть идентифицирован. Владение соблюдает Создать Правило.

    Обсуждение

    Результат, как гарантируют, не будет точен. Как правило, функция требует, чтобы 200-400 символов надежно предположили язык строки.

    CFStringTokenizer распознает следующие языки:

    площадь (арабский язык), bg (болгарский язык), cs (чешский язык), da (датский язык), de (немецкий язык), el (греческий язык), en (английский язык), es (испанский язык), fi (финский язык), франк (французский язык), он (иврит), час (хорватский язык), hu (венгерский язык), (исландец), это (итальянский язык), ja (японский язык), ko (корейский язык), nb (норвежский Bokmål), nl (голландский), мн (польский язык), pt (португальский язык), ro (румынский язык), рутений (русский язык), sk (словацкий язык), sv (шведский язык), th (тайский язык), TR (турецкий язык), Великобритания (украинец), ж-Ханс (Упрощенный китайский), zh-Hant (Традиционные китайцы).

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

    Objective C

    @import CoreFoundation;

    Swift

    import CoreFoundation

    Доступность

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

  • Возвращает идентификатор типа для CFStringTokenizer.

    Объявление

    Swift

    func CFStringTokenizerGetTypeID() -> CFTypeID

    Objective C

    CFTypeID CFStringTokenizerGetTypeID ( void );

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

    Идентификатор типа для CFStringTokenizer.

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

    Objective C

    @import CoreFoundation;

    Swift

    import CoreFoundation

    Доступность

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

Типы данных

Прочие условия

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

    Объявление

    Swift

    typealias CFStringTokenizerRef = CFStringTokenizer

    Objective C

    typedef struct __CFStringTokenizer * CFStringTokenizerRef;

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

    Objective C

    @import CoreFoundation;

    Swift

    import CoreFoundation

    Доступность

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

Константы

  • Опции токенизации используются с CFStringTokenizerCreate указать, как должна маркироваться строка

    Объявление

    Swift

    var kCFStringTokenizerUnitWord: Int { get } var kCFStringTokenizerUnitSentence: Int { get } var kCFStringTokenizerUnitParagraph: Int { get } var kCFStringTokenizerUnitLineBreak: Int { get } var kCFStringTokenizerUnitWordBoundary: Int { get } var kCFStringTokenizerAttributeLatinTranscription: Int { get } var kCFStringTokenizerAttributeLanguage: Int { get }

    Objective C

    enum { kCFStringTokenizerUnitWord = 0, kCFStringTokenizerUnitSentence = 1, kCFStringTokenizerUnitParagraph = 2, kCFStringTokenizerUnitLineBreak = 3, kCFStringTokenizerUnitWordBoundary = 4, kCFStringTokenizerAttributeLatinTranscription = 1L << 16, kCFStringTokenizerAttributeLanguage = 1L << 17 };

    Константы

    • kCFStringTokenizerUnitWord

      kCFStringTokenizerUnitWord

      Указывает, что строка должна маркироваться словом. locale параметр CFStringTokenizerCreate проигнорирован.

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

    • kCFStringTokenizerUnitSentence

      kCFStringTokenizerUnitSentence

      Указывает, что строка должна маркироваться предложением. locale параметр CFStringTokenizerCreate проигнорирован.

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

    • kCFStringTokenizerUnitParagraph

      kCFStringTokenizerUnitParagraph

      Указывает, что строка должна маркироваться абзацем. locale параметр CFStringTokenizerCreate проигнорирован.

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

    • kCFStringTokenizerUnitLineBreak

      kCFStringTokenizerUnitLineBreak

      Указывает, что строка должна маркироваться с методической точностью повреждение. locale параметр CFStringTokenizerCreate проигнорирован.

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

    • kCFStringTokenizerUnitWordBoundary

      kCFStringTokenizerUnitWordBoundary

      Указывает, что строка должна маркироваться чувствительной к локали границей слова.

      Можно использовать эту константу в обнаружении диапазона двойного щелчка и целом поиске слова. Это чувствительно к локали. Если локаль en_US_POSIX, двоеточие (U+003A) обрабатывается как разделитель слов. Если locale параметр CFStringTokenizerCreate NULL, локаль от глобальной переменной AppleTextBreakLocale предпочтение используется, если это доступно; иначе значения по умолчанию локали к первой локали в AppleLanguages.

      kCFStringTokenizerUnitWordBoundary также возвраты располагают с интервалами между словами как маркер.

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

    • kCFStringTokenizerAttributeLatinTranscription

      kCFStringTokenizerAttributeLatinTranscription

      Используемый с kCFStringTokenizerUnitWord, говорит токенизатору подготавливать латинскую запись, когда это маркирует строку.

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

    • kCFStringTokenizerAttributeLanguage

      kCFStringTokenizerAttributeLanguage

      Говорит токенизатору подготавливать язык (указанный как RFC 3066bis строка), когда это маркирует строку.

      Используемый с kCFStringTokenizerUnitSentence или kCFStringTokenizerUnitParagraph.

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

    Обсуждение

    Вы используете опции модуля токенизации с CFStringTokenizerCreate указать, как должна маркироваться строка.

    Вы используете модификаторы вместе с модулем токенизации для изменения способа, которым маркируется строка.

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

    Чувствительность локали опций модуля токенизации может измениться в будущем выпуске.

  • Типы маркера, возвращенные CFStringTokenizerGoToTokenAtIndex и CFStringTokenizerAdvanceToNextToken.

    Объявление

    Swift

    struct CFStringTokenizerTokenType : RawOptionSetType { init(_ rawValue: CFOptionFlags) init(rawValue rawValue: CFOptionFlags) static var None: CFStringTokenizerTokenType { get } static var Normal: CFStringTokenizerTokenType { get } static var HasSubTokensMask: CFStringTokenizerTokenType { get } static var HasDerivedSubTokensMask: CFStringTokenizerTokenType { get } static var HasHasNumbersMask: CFStringTokenizerTokenType { get } static var HasNonLettersMask: CFStringTokenizerTokenType { get } static var IsCJWordMask: CFStringTokenizerTokenType { get } }

    Objective C

    enum { kCFStringTokenizerTokenNone = 0, kCFStringTokenizerTokenNormal = 1, kCFStringTokenizerTokenHasSubTokensMask = 1L << 1, kCFStringTokenizerTokenHasDerivedSubTokensMask = 1L << 2, kCFStringTokenizerTokenHasHasNumbersMask = 1L << 3, kCFStringTokenizerTokenHasNonLettersMask = 1L << 4, kCFStringTokenizerTokenIsCJWordMask = 1L << 5 }; typedef CFOptionFlags CFStringTokenizerTokenType;

    Константы

    • None

      kCFStringTokenizerTokenNone

      Не имеет никакого маркера.

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

    • Normal

      kCFStringTokenizerTokenNormal

      Имеет нормальный маркер.

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

    • HasSubTokensMask

      kCFStringTokenizerTokenHasSubTokensMask

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

      Можно получить подмаркеры путем вызова CFStringTokenizerGetCurrentSubTokens.

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

    • HasDerivedSubTokensMask

      kCFStringTokenizerTokenHasDerivedSubTokensMask

      Соедините маркер, который может содержать полученные подмаркеры.

      Можно получить подмаркеры и полученные подмаркеры путем вызова CFStringTokenizerGetCurrentSubTokens.

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

    • HasHasNumbersMask

      kCFStringTokenizerTokenHasHasNumbersMask

      Кажется, содержит число.

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

    • HasNonLettersMask

      kCFStringTokenizerTokenHasNonLettersMask

      Содержит пунктуацию, символы, и т.д.

      Учитывая путь работает разрыв слова Unicode, это означает, что это - автономная пунктуация или символ символа или строка такого.

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

    • IsCJWordMask

      kCFStringTokenizerTokenIsCJWordMask

      Содержит кану и/или идеограммы.

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

    Обсуждение

    Посмотрите http://www.unicode.org/reports/tr29/#Word_Boundaries для подробного описания границ слова.

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

    Objective C

    @import CoreFoundation;

    Swift

    import CoreFoundation

    Доступность

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