Catalystアプリにタッチバーボタンの実装

例:私のアプリプロ卓球スコアボードに二つのタッチバーボタンで両サイドの点数を追加機能がある。以下は関連のコード。
タッチバーのIdentifierの定義:

#if targetEnvironment(macCatalyst)
import UIKit

extension NSTouchBarItem.Identifier {
    static let addLeft = Self.init("addLeft")
    static let addRight = Self.init("addRight")
}
#endif

ViewControllerにタッチバーの定義:

class GameViewController: UIViewController {
    ...
    #if targetEnvironment(macCatalyst)
    override func makeTouchBar() -> NSTouchBar? {
        let touchBar = NSTouchBar()
        touchBar.delegate = self
        touchBar.defaultItemIdentifiers = [.addLeft, .addRight]
        return touchBar
    }
    #endif
}

タッチバー各ボタンの定義:

#if targetEnvironment(macCatalyst)
extension GameViewController: NSTouchBarDelegate {
    func touchBar(_ touchBar: NSTouchBar, makeItemForIdentifier identifier: NSTouchBarItem.Identifier) -> NSTouchBarItem? {
        switch identifier {
        case .addLeft:
            let item = NSButtonTouchBarItem(identifier: identifier, title: "Left+1", target: self, action: #selector(addLeft))
            return item
        case .addRight:
            let item = NSButtonTouchBarItem(identifier: identifier, title: "Right+1", target: self, action: #selector(addRight))
            return item
        default:
            return nil
        }
    }
    
    @objc private func addLeft() {
        ...
    }
    
    @objc private func addRight() {
        ...
    }
}
#endif