Adicionando modo escuro ao aplicativo iOS

Estou tentando adicionar um tema ao meu aplicativo (um tema sombrio). Portanto, quando o usuário clica em uma opção de atividade, o aplicativo inteiro entra no modo escuro. Eu codifiquei o modo escuro apenas para ver como ele seria; no entanto, agora eu gostaria de poder habilitá-lo e desativá-lo através do UISwitch, mas não tenho certeza de como fazer isso?

class DarkModeTableViewCell: UITableViewCell {

var DarkisOn = Bool()
let userDefaults = UserDefaults.standard


@IBOutlet var darkModeSwitchOutlet: UISwitch!

override func awakeFromNib() {
    super.awakeFromNib()


}

override func setSelected(_ selected: Bool, animated: Bool) {
    super.setSelected(selected, animated: animated)

    // Configure the view for the selected state
}


@IBAction func darkModeSwitched(_ sender: Any) {

    if darkModeSwitchOutlet.isOn == true {

        //enable dark mode

        DarkisOn = true

        userDefaults.set(true, forKey: "DarkDefault")
        userDefaults.set(false, forKey: "LightDefault")



    } else {

        //enable light mode
        DarkisOn = false

        userDefaults.set(false, forKey: "DarkDefault")
        userDefaults.set(true, forKey: "LightDefault")
    }

}



}



class DarkModeViewController: UIViewController {



func set(for viewController: UIViewController) {



    viewController.view.backgroundColor = UIColor(red: 0.1, green: 0.1, blue: 0.1, alpha: 1.0)
        viewController.navigationController?.navigationBar.titleTextAttributes = [NSAttributedStringKey.foregroundColor: UIColor.white]
    viewController.navigationController?.navigationBar.tintColor =     UIColor.white
    viewController.navigationController?.navigationBar.barStyle =     UIBarStyle.black
    viewController.tabBarController?.tabBar.barStyle = UIBarStyle.black






}
static let instance = DarkModeViewController()
}

e então o que eu faço é chamar a função em cada um dos controladores de exibição para ver como ela é, mas eu preciso poder acessar o valor bool se a chave estiver ligada ou desligada e se for o caso. essa função, caso contrário, apenas manter as coisas iguais. Se você tiver mais alguma dúvida, entre em contato. Sei que isso pode não fazer muito sentido.

questionAnswers(2)

yourAnswerToTheQuestion