2017-03-06 6 views
0

私は、ValueTransformerをココアバインディングに追加したいと考えています。 私はValueTransformerクラスを作成しましたが、IBでは表示されません。 IBでValueTransformerとして追加するとアプリが起動SwiftでValueTransformerを追加

class myTransformer: ValueTransformer { 

override func valueClassForBinding(_ binding: String) -> AnyClass? { 
    return NSString.self 
} 

override func transformedValue(_ value: Any?) -> Any? { 
    return "test" 
} 


} 

でクラッシュしますが、名前myTransformer

と値の変圧器を見つけることができません、私は何かが足りないのですか?

ありがとうございます!

答えて

0

初期化コードでコントローラクラスに値トランスフォーマクラスを追加する必要があります。 次に、インタフェースビルダーのバリュートランスフォーマーを適切な場所に配置します。このようにしてInterface Builderに表示されます:

適切な方法でバリュートランスを書く必要があります。 Check this out

enter image description here

Docs:

値変圧器は、典型的には、初期受信に応答して、アプリケーションのデリゲートクラスによって登録されている:クラスメッセージ。これにより、アプリケーションの起動プロセスの早い段階で登録が実行され、nibファイルのロード時にバリュートランスにアクセスできるようになります。

希望します。

関連する問題