2016-11-18 9 views
1

의는 기본적으로의 사용자 상호 작용에 대한 알림을받을 수 있습니다nextResponder 스위프트 3 스위프트이이 코드에서

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

잘 작동합니다.

스위프트 3에서는 이제 변수가 아니며 didSet에서도이를 관찰 할 수 없습니다. 스위프트에 위의 코드를 사용하는 방법에 너무

3

답변

4
당신은 변수를 대체 할 수 있습니다

: 변수가 읽기 전용 변수로 정의되기 때문에 이해가되지 않습니다 didSet을 구현

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

을 . 이 변수를 설정하지 않아도됩니다. 대신 UIResponder의 다른 하위 클래스가 변수를 무시하고 다른 값을 반환 할 수 있습니다. 기본 클래스는 nil을 반환합니다.

참고 : 변수는 Swift 3에서는 next이고 Objective-C 및 이전 Swift 버전에서는 nextResponder입니다. 이것은 스위프트Objective-C 오른쪽 열 사이를 전환 할 때 documentation에서 볼 수 있습니다.

0

nextRespondernextSwift 3으로 바꿉니다. 새로운 선언문은 다음과 같습니다.

var next: UIResponder? { get }