You create a value transformer by subclassing ValueTransformer and overriding the necessary methods to provide the required custom transformation. You then register the value transformer using the setValueTransformer(_:forName:) method, so that other parts of your app can access it by name with init(forName:).
あなたは、値変換器の作成を、ValueTransformerのサブクラスを作成して必要なメソッドをオーバーライドして望むあつらえの変換を提供することで行います。あなたはそれから値変換器をsetValueTransformer(_:forName:)メソッドを使って登録します、そうしてあなたのアプリの他の部分は名前によってそれにアクセスすることがinit(forName:)で可能です。
Use the transformedValue(_:) method to transform a value from one representation into another. If a value transformer designates that its transformation is reversible by returning true for allowsReverseTransformation(), you can also use the reverseTransformedValue(_:) to perform the transformation in reverse. For example, reversing the characters in a string is a reversible operation, whereas changing the characters in a string to be uppercase is a nonreversible operation.transformedValue(_:)メソッドを使ってある値を1つの表現から別のものへと変換してください。ある値変換器がそれの変換が元に戻せることをtrueをallowsReverseTransformation()に対して返すことによって示すならば、あなたはまたreverseTransformedValue(_:)を使って逆での変換を実行してください。たとえば、ある文字列中の文字を逆にすることは元に戻せる操作です、その一方である文字列の中の文字をアップケースであるように変えることは元に戻せない操作です。
A value transformer can take inputs of one type and return a value of a different type.
ある値変換器は、1つの型の入力を取り、そして異なる型の値を返すことが出来ます。
For example, a value transformer could take an NSImage or UIImage object and return an NSData object containing the PNG representation of that image.
Example Usage
使用例
The following example defines a new value transformer that takes an object and returns a string based on the object’s class type. This transformer isn't reversible because it doesn't make sense to transform a class name into an object.
以下の例は、ある新しい値変換器を定義します、それはあるオブジェクトを取り、そのオブジェクトのもつクラス型に基づいてある文字列を返します。この変換器は、可逆ではありません、なぜならそれはクラス名をオブジェクトへと変換することを理解できないからです。