In the section “For the More Curious: The Responder Chain” please notice this line of code
next?.touchesBegan(touches, with: event)
but apple api documentation says do not send the message directly to the next responder, instead
[super touchesBegan:touches withEvent:event];
is it a mistake of the author?
As per Apple documentation:
If you implement a custom view to handle remote control events, action messages, shake-motion events with UIKit, or editing-menu messages, don’t forward the event or message to nextResponder directly to send it up the responder chain. Instead, invoke the superclass implementation of the current event handling method and let UIKit handle the traversal of the responder chain for you.
In this specific scenario you have a standard UIView owned by your ViewController that simply manage touches and it is fully entitled in invoking :
next?.touchesBegan(touches, with: event)
for that kind of touches of no interest.