nextResponder in Swift 3
in Swift 2 this code works fine override func nextResponder() -> UIResponder? { // it's called when user make any touch event return super.nextResponder() } it's basically helps to get notification about any user interaction. in Swift 3 now it's a variable not a function and I can't even observe it with didSet. so how to use the code above in Swift 3 You can override the variable: override var next: UIResponder? { get { // do something return super.next } } As the variable is defined as a read-only variable, implementing didSet doesn't make sense. You're not supposed to set this variable.