Sometimes you would want to start or remove an action on a specific node at a certain time. For example, you might want to stop a moving object when the user taps the screen. This becomes very helpful when a node has multiple actions and you only wants to access one of them.
let move = SKAction.moveTo(x: 200, duration: 2)
object.run(move, withKey: "moveX")
Here we set the key "moveX" for the action move
in order to access it later in another part of the class.
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
object.removeAction(forKey: "moveX")
}
When the user touches the screen the action will get removed and the object will stop moving.