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