2016-11-18 5 views
1

では、それは基本的にだ任意のユーザインタラクションに関する通知を取得するのに役立ちますnextResponderスウィフト3スウィフト2本のコードで

override func nextResponder() -> UIResponder? { 
    // it's called when user make any touch event 
    return super.nextResponder() 
} 

正常に動作します。

スウィフト3では、これは関数ではなく、didSetでも観測できない変数です。スウィフトに上記のコードを使用するには、どのように

答えて

4
あなたが変数上書きすることができ

:変数は読み取り専用の変数として定義されたよう意味をなさないdidSetを実施し、

override var next: UIResponder? { 
    get { 
     // do something 
     return super.next 
    } 
} 

を。この変数を設定する必要はありません。代わりに、UIResponderの異なるサブクラスで変数をオーバーライドし、異なる値を返すことができます。基本クラスはnilを返します。

注:変数は、Swift 3ではnext、Objective-Cおよびそれ以前のSwiftバージョンではnextResponderと呼ばれています。これはSwiftObjective-Cの右の列を切り替えるとdocumentationに表示されます。

0

nextResponderは、nextSwift 3に置き換えたものです。新しい宣言は、

var next: UIResponder? { get } 
です。
関連する問題