¿Cómo guardo un UIColor con UserDefaults? [duplicar

Esta pregunta ya tiene una respuesta aquí:

Guardar UIColor y cargar desde NSUserDefaults 7 respuestas

Estoy tratando de programar mi código para que si el usuario presiona el botón nocturno el fondo se volverá negro y permanecerá negro si el usuario cierra la aplicación. (Lo mismo ocurre con el modo de día).

Tenga en cuenta: ya codifiqué los botones y cuando lo presionan, todas las escenas cambian a ese modo.

Aquí está mi código donde voy a necesitar guardar el color de fondo: (lo necesito en ambas declaraciones if)

if GlobalData.dayBool == true && GlobalData.night == false {
    backgroundColor = GlobalData.dayColor 
}

if GlobalData.nightBool == true && GlobalData.dayBool == false {
    backgroundColor = GlobalData.nightColor 
}

Mi colores de noche y día:

struct GlobalData {
    static var score = 0
    static var dayColor = UIColor(red:0.93, green:0.93, blue:0.93, alpha:1.0)
    static var nightColor = UIColor(red:0.10, green:0.10, blue:0.10, alpha:1.0)  
    static var dayBool = true
    static var nightBool = true
}

Respuestas a la pregunta(2)

Su respuesta a la pregunta