Como passar uma referência a um booleano em vez de seu valor?

Eu quero usar booleanos como armazenamento de estado.

Para fazer isso, preciso ser capaz de mudar o estado deles de lugares diferentes no projeto.

Para fazer isso, preciso de um local para armazená-los e uma maneira de passar uma referência a eles.

Eu tentei armazená-los comovariáveis estáticas em um GameManager, mas passar referências a elas apenas parece passar o valor de verdadeiro de falso, não uma referência.

Como alcanço esse objetivo de ter uma referência booleana aceitável Posso mudar o estado de qualquer parte do projeto?

ATUALIZAR:

Esta não pode ser a melhor maneira de fazer isso, mas isso atinge o objetivo de ter um monte de booleanos de estado que eu posso usar em todo o mundo do jogo:

class GameManager {

    static let sharedInstance = GameManager()

    var previewAudioIsON: Bool = false
    var previewVisuaIsOn: Bool  = false
    var timerDisplayIsOn: Bool  = false
    var quickStartIsOn: Bool  = false

    func touchedPreviewAudioButton() -> Bool {
        if previewAudioIsON { previewAudioIsON = false}
        else { previewAudioIsON = true }
     return previewAudioIsON
    }

    func touchedPreviewVisualButton() -> Bool {
        if previewVisuaIsOn { previewVisuaIsOn = false }
        else { previewVisuaIsOn = true }
     return previewVisuaIsOn
    }

    func touchedTimeDisplayButton() -> Bool {
        if timerDisplayIsOn { timerDisplayIsOn = false }
        else { timerDisplayIsOn = true }
     return timerDisplayIsOn
    }

    func touchedQuickStartButton() -> Bool {
        if quickStartIsOn { quickStartIsOn = false }
        else { quickStartIsOn = true }
     return quickStartIsOn
    }
}

questionAnswers(2)

yourAnswerToTheQuestion