Scalable event handling in SpriteKit game

I am in the process of building a fairly complex game in SpriteKit. Per Apple's documentation (see https://developer.apple.com/documentation/spritekit/sknode/controlling_user_interaction_on_nodes) there are two main ways of handling events in a SpriteKit game.

One is to handle all user interaction from a single node, the main SKScene in my case. I attach gesture recognizers in the SKScene.didMove(to:) method and test for which nodes were interacted with, then trigger the appropriate event based on the node. This is the technique I am currently using because it seems to be what everyone recommends, based on online research.

The second approach involves attaching gesture recognizers on a node-by-node basis.

I am quickly running into a scale problem of handling all the events at the SKScene level (the first approach). Currently I am checking which nodes were touched using the name of the node, then triggering the appropriate event based on the touched node. This worked fine when I had around a dozen different nodes the user could interact with, but it is quickly getting out of control as I build out my game and add dozens and dozens of different nodes that are capable of being interacted with. This technique does not seem scalable at all.

I would like to start exploring attaching gesture recognizers to the individual nodes, but I cannot find a single example anywhere online of this technique. I have also purchased and read a book on SpriteKit, which only describes the former technique. Can anyone point me in the right direction, provide some code examples, or tell me where I might find information about how to better scale out a SpriteKit game, specifically in terms of event handling?

Scalable event handling in SpriteKit game
 
 
Q