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

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

Разработчик

Ссылка класса OSString

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

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

OSString

OSString обертывает струну до в объект C++ для использования в наборах Libkern.

OSString является контейнерным классом для управления массивами символов. OSString обычно поддерживает свой собственный символьный буфер и позволяет изменения, но можно создать «неизменный» OSString, ссылающийся на внешний буфер струны до использование функций создателя «NoCopy». Функции, вызванные для изменения содержания неизменного OSString, перестанут работать.

Кодировки

OSString не делает условий для различных кодировок символов и предполагает, что строка является nul-завершенной последовательностью однобайтовых символов. Код пространства пользователя должен или принять кодирование (обычно ASCII или UTF-8) или определить его некоторым другим способом (таким как свойство IORegistryEntry).

Изменение строк

Использование indended OSSTRING как считаемый на ссылку контейнер объекта для струны до и немного больше. В то время как OSString обеспечивает полный доступ к базовой струне до, это обеспечивает мало в способе строкового манипулирования объектом; существуют, не добавляют или вставляют функции, только символьную набором функцию. Если необходимо управлять Осстрингсом, обычно лучше получить струны до, изменить их по мере необходимости и создать новый объект OSString из получающейся струны до.

Используйте ограничения

За очень немногими исключениями в Наборе I/O все находящиеся в Libkern классы C++, функции и макросы небезопасны использовать в основном контексте прерывания. Консультируйтесь с документацией Набора I/O, связанной с основными прерываниями для получения дополнительной информации.

OSString не обеспечивает защиты параллелизма; это до контекста использования для обеспечивания любой необходимой защиты. Некоторые части Набора I/O, такие как IORegistryEntry, обрабатывают синхронизацию через определенные функции членства для установки свойств.

Наследование


Не применимый

Соответствует


Не применимый

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


Не применимый

Objective C

@import Kernel;

Доступность


Доступный в OS X v10.0 и позже.
  • Освобождает или высвобождает любые средства, используемые экземпляром OSString.

    Объявление

    C++

    virtual void free();

    Обсуждение

    Эта функция не должна быть вызвана непосредственно; использовать release вместо этого.

  • Возвращает символ в данном индексе в строковом объекте.

    Объявление

    C++

    virtual char getChar( unsigned intindex) const;

    Параметры

    index

    Индекс в строку.

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

    Символ в index в строке, или '\0' если индекс проходит конец строки.

  • Возвращает указатель на внутренний буфер струны до.

    Объявление

    C++

    virtual const char * getCStringNoCopy() const;

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

    Указатель на внутренний буфер струны до.

  • Возвращает число символов в объекте OSString.

    Объявление

    C++

    virtual unsigned int getLength() const;

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

    Число символов в объекте OSString.

  • Инициализирует OSString от струны до.

    Объявление

    C++

    virtual bool initWithCString( const char *cString);

    Параметры

    cString

    Струна до для копирования в новый OSString.

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

    true на успехе, false при отказе.

    Обсуждение

    Не для общего использования. Используйте статический метод создания экземпляра withCString вместо этого.

  • Инициализирует неизменный OSString для совместного использования предоставленного буфера струны до.

    Объявление

    C++

    virtual bool initWithCStringNoCopy( const char *cString);

    Параметры

    cString

    Струна до к ссылке.

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

    true на успехе, false при отказе.

    Обсуждение

    Не для общего использования. Используйте статический метод создания экземпляра withCStringNoCopy вместо этого.

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

    Объект OSString, создаваемый с этой функцией, не позволяет изменять строку через setChar.

  • Инициализирует OSString от другого OSString.

    Объявление

    C++

    virtual bool initWithString( const OSString *aString);

    Параметры

    aString

    OSString возражают чье содержание для копирования.

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

    true на успехе, false при отказе.

    Обсуждение

    Не для общего использования. Используйте статический метод создания экземпляра withString вместо этого.

  • Тестирует равенство объекта OSString со струной до.

    Объявление

    C++

    virtual bool isEqualTo( const char *cString) const;

    Параметры

    cString

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

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

    true если символы OSSTRING эквивалентны струне до, false иначе.

  • Тестирует равенство объекта OSData и экземпляра OSString.

    Объявление

    C++

    virtual bool isEqualTo( const OSData *aDataObject) const;

    Параметры

    aDataObject

    Объект OSData.

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

    true если два объекта эквивалентны, false иначе.

    Обсуждение

    Эта функция сравнивает байты объекта OSData против тех из OSString, составляя возможность, что OSData мог бы явно включать nul символ как часть его общей длины. Таким образом, например, OSData возражают содержащий любого байты <'u'', 'b', '\0'> или <'u'', 'b'> выдержит сравнение как равный OSString, содержащему «usb».

  • Тестирует равенство объекта OSString к произвольному объекту.

    Объявление

    C++

    virtual bool isEqualTo( const OSMetaClassBase *anObject) const;

    Параметры

    anObject

    Объект, который будет сравнен с получателем.

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

    Возвраты true если два объекта эквивалентны, false иначе.

    Обсуждение

    Если тот объект получен из OSString и содержит эквивалентные байты той же длины, OSString считают равным другому объекту.

  • Тестирует равенство двух объектов OSString.

    Объявление

    C++

    virtual bool isEqualTo( const OSString *aString) const;

    Параметры

    aString

    Объект OSString, сравниваемый с получателем.

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

    true если два объекта OSString эквивалентны, false иначе.

    Обсуждение

    Два объекта OSString считают равными, если у них есть та же длина и если их буферы байта содержат то же содержание.

  • Архивирует получатель в предоставленный объект OSSerialize.

    Объявление

    C++

    virtual bool serialize( OSSerialize *serializer) const;

    Параметры

    serializer

    Объект OSSerialize.

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

    true если сериализация успешно выполняется, false если нет.

  • Заменяет символ в данном индексе в строковом объекте.

    Объявление

    C++

    virtual bool setChar( charaChar, unsigned intindex);

    Параметры

    aChar

    Символьное значение для установки.

    index

    Индекс в строку.

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

    true если символ был заменен, false если создаваемого «NoCopy» или index проходит конец строки.

  • Создает и инициализирует OSString от струны до.

    Объявление

    C++

    static OSString * withCString( const char *cString);

    Параметры

    cString

    Струна до для копирования в новый OSString.

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

    Экземпляр OSString представление тех же символов как aString, и с подсчетом ссылок 1; NULL при отказе.

  • Создает и инициализирует неизменный OSString, совместно использующий предоставленный буфер струны до.

    Объявление

    C++

    static OSString * withCStringNoCopy( const char *cString);

    Параметры

    cString

    Струна до к ссылке.

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

    Экземпляр OSString, содержащего cString, и с подсчетом ссылок 1; NULL при отказе.

    Обсуждение

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

    Объект OSString, создаваемый с этой функцией, не позволяет изменять строку через setChar.

  • Создает и инициализирует OSString от другого OSString.

    Объявление

    C++

    static OSString * withString( const OSString *aString);

    Параметры

    aString

    OSString возражают чье содержание для копирования.

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

    Экземпляр OSString представление тех же символов как aString, и с подсчетом ссылок 1; NULL при отказе.

    Обсуждение

    Новый OSString является отличным экземпляром от aString, и не просто исходный объект с постепенно увеличенным подсчетом ссылок. Изменения в каждый не будет отражен в другом.