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

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

Разработчик

Ссылка платформы основы ссылка класса NSValueTransformer

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

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

NSValueTransformer

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


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


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


Swift

import Foundation

Objective C

@import Foundation;

Доступность


Доступный в iOS 3.0 и позже.

NSValueTransformer абстрактный класс, использующийся технологией Привязки Какао для преобразования значений от одного представления до другого.

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

Пример

Относительно тривиальный преобразователь значения берет объект типа id и возвращает строку на основе объекта’ €™ s тип класса. Этот преобразователь не обратим, поскольку, вероятно, неблагоразумно преобразовать имя класса в объект. Класс преобразователя значения, который Вы пишете для выполнения этой простой задачи, мог быть похожим:

  • @interface ClassNameTransformer: NSValueTransformer {}
  • @end
  • @implementation ClassNameTransformer
  • + (Class)transformedValueClass { return [NSString class]; }
  • + (BOOL)allowsReverseTransformation { return NO; }
  • - (id)transformedValue:(id)value {
  • return (value == nil) ? nil : NSStringFromClass([value class]);
  • }
  • @end
  • Регистрирует предоставленный преобразователь значения в данном идентификаторе.

    Объявление

    Swift

    class func setValueTransformer(_ transformer: NSValueTransformer, forName name: String)

    Objective C

    + (void)setValueTransformer:(NSValueTransformer *)transformer forName:(NSString *)name

    Параметры

    transformer

    Преобразователь для регистрации.

    name

    Имя для transformer.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в iOS 3.0 и позже.

    См. также

    + valueTransformerForName:

  • Возвращает преобразователь значения, идентифицированный данным идентификатором.

    Объявление

    Swift

    init?(forName name: String) -> NSValueTransformer

    Objective C

    + (NSValueTransformer *)valueTransformerForName:(NSString *)name

    Параметры

    name

    Идентификатор преобразователя.

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

    Преобразователь значения, идентифицированный name в совместно используемом реестре, или nil если не найденный.

    Обсуждение

    Если valueTransformerForName: не находит зарегистрированный экземпляр преобразователя для name, это попытается найти класс с указанным именем. Если соответствующий класс будет найден, то экземпляр будет создаваться и инициализировал использование init: метод и затем автоматически зарегистрированный в name.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в iOS 3.0 и позже.

  • Возвращает массив всех зарегистрированных преобразователей значения.

    Объявление

    Swift

    class func valueTransformerNames() -> [AnyObject]

    Objective C

    + (NSArray *)valueTransformerNames

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

    Массив всех зарегистрированных преобразователей значения.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в iOS 3.0 и позже.

  • Возвращает булево значение, указывающее, может ли получатель инвертировать трансформацию.

    Объявление

    Swift

    class func allowsReverseTransformation() -> Bool

    Objective C

    + (BOOL)allowsReverseTransformation

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

    YEStrue если получатель поддерживает обратные трансформации значения, иначе NOfalse.

    Значение по умолчанию YEStrue.

    Обсуждение

    Подклассы должны переопределить этот метод для возврата NOfalse если они не поддерживают трансформации значения реверса.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в iOS 3.0 и позже.

  • Возвращает класс значения, возвращенного получателем для прямой трансформации.

    Объявление

    Swift

    class func transformedValueClass() -> AnyClass

    Objective C

    + (Class)transformedValueClass

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

    Класс значения, возвращенного получателем для прямой трансформации.

    Обсуждение

    Подкласс должен переопределить этот метод для возврата надлежащего класса.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в iOS 3.0 и позже.

  • Возвращает результат преобразования данного значения.

    Объявление

    Swift

    func transformedValue(_ value: AnyObject?) -> AnyObject?

    Objective C

    - (id)transformedValue:(id)value

    Параметры

    value

    Значение для преобразования.

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

    Результат преобразования value.

    Реализация по умолчанию просто возвращается value.

    Обсуждение

    Подкласс должен переопределить этот метод, чтобы преобразовать и возвратить основанное на объектах на value.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в iOS 3.0 и позже.

  • Возвращает результат обратной трансформации данного значения.

    Объявление

    Swift

    func reverseTransformedValue(_ value: AnyObject?) -> AnyObject?

    Objective C

    - (id)reverseTransformedValue:(id)value

    Параметры

    value

    Значение к обратному преобразованию.

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

    Обратная трансформация value.

    Обсуждение

    Реализация по умолчанию повышает исключение если allowsReverseTransformation возвраты NOfalse; иначе это вызовет transformedValue: с value.

    Подкласс должен переопределить этот метод, если они требуют обратной трансформации, которая не является тем же как простым повторным применением исходного преобразования (как имел бы место с отрицанием, например). Например, если преобразователь значения преобразовывает значение в Фаренгейте к Цельсия, этот метод был бы преобразовывать значение от Цельсия до Фаренгейта.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в iOS 3.0 и позже.

    См. также

    – transformedValue:

  • Следующие именованные преобразователи значения определяются NSValueTransformer:

    Объявление

    Swift

    let NSNegateBooleanTransformerName: String let NSIsNilTransformerName: String let NSIsNotNilTransformerName: String let NSUnarchiveFromDataTransformerName: String let NSKeyedUnarchiveFromDataTransformerName: String

    Objective C

    NSString * const NSNegateBooleanTransformerName; NSString * const NSIsNilTransformerName ; NSString * const NSIsNotNilTransformerName ; NSString * const NSUnarchiveFromDataTransformerName ; NSString * const NSKeyedUnarchiveFromDataTransformerName ;

    Константы

    • NSNegateBooleanTransformerName

      Этот преобразователь значения инвертирует булево значение, преобразовывая YEStrue к NOfalse и NOfalse к YEStrue.

      Этот преобразователь обратим.

      Доступный в iOS 3.0 и позже.

    • NSIsNilTransformerName

      Этот преобразователь значения возвраты YEStrue если значение nil.

      Этот преобразователь не обратим.

      Доступный в iOS 3.0 и позже.

    • NSIsNotNilTransformerName

      Этот преобразователь значения возвраты YEStrue если значение не -nil.

      Этот преобразователь не обратим.

      Доступный в iOS 3.0 и позже.

    • NSUnarchiveFromDataTransformerName

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

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

      Доступный в iOS 3.0 и позже.

    • NSKeyedUnarchiveFromDataTransformerName

      Этот преобразователь значения возвращает объект, создаваемый путем попытки разархивировать данные в NSData объект передал как значение. Архивный объект должен быть создан с помощью включенной архивации, чтобы быть разархивированным и заархивированным с этим преобразователем.

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

      Доступный в iOS 3.0 и позже.