Como salvar uma matriz de estruturas personalizadas para executar rapidamente

Estou tentando salvar os dados de alerta em uma lista, ela está na forma de uma matriz da classe alertData, todas as informações que posso encontrar para codificá-las e, em seguida, colocá-las na matriz, mas estou confuso quanto a isso. para o que isso faz? E eu também não consigo descobrir como fazê-lo, aqui está o meu playground: Qualquer ajuda seria ótima

A classe (estou tentando salvar uma matriz destes)

public class alertData: NSObject, NSCoding {
//Properties of the timer data - make optionals optional i.e. alert count etc.

var alertCounter: NSTimeInterval?
var alertText: String?
var alertColor: UIColor?
var alertColorIndex: Int?


//initialisation
init(alertCounter: Double, alertText: String, alertColor: UIColor, alertColourIndex: Int) {

    self.alertCounter = alertCounter
    self.alertText = alertText
    self.alertColor = alertColor
    self.alertColorIndex = alertColourIndex
}

public required init(coder aDecoder: NSCoder) {
    alertCounter = aDecoder.decodeDoubleForKey("Item1")
    alertText = aDecoder.decodeObjectForKey("Item2") as? String
    alertColor = aDecoder.decodeObjectForKey("Item3") as? UIColor
    alertColorIndex = aDecoder.decodeIntegerForKey("Item4")
}

public func encodeWithCoder(aCoder: NSCoder) {
    alertCounter = aCoder.decodeDoubleForKey("Item1")
    alertText = aCoder.decodeObjectForKey("Item2") as? String
    alertColor = aCoder.decodeObjectForKey("Item3") as? UIColor
    alertColorIndex = aCoder.decodeIntegerForKey("Item4")
}
}

A matriz (torna-se preenchida quando adiciono dados de alerta no aplicativo):

var alertDataSource: [alertData] = []

E para codificá-lo:

let archive = NSKeyedArchiver.archivedDataWithRootObject(self.alertDataSource)
            print(archive)

E para extrair:

let result = NSKeyedUnarchiver.unarchiveObjectWithData(archive)
            print(result)

Agradecemos antecipadamente por quaisquer dicas / conselhos

questionAnswers(1)

yourAnswerToTheQuestion