I am trying to persist bar chart values using UserDefaults so that every time the app is invoked it doesn't show blank chart.
let defaults = UserDefaults.standard
let dataSet = BarChartDataSet(values: [entry1, entry2, entry3, entry4], label: "Widgets Type")
let data = BarChartData(dataSets: [dataSet])
let encodedData = NSKeyedArchiver.archivedData(withRootObject: data)
defaults.set(encodedData, forKey: "encoded data")
defaults.synchronize()
if let decodedData = defaults.object(forKey: "encoded data") as? Data {
let data = NSKeyedUnarchiver.unarchiveObject(with: decodedData )
barChart.data = data as? ChartData
But when I run my app I get the following error message
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[Charts.BarChartData encodeWithCoder:]: unrecognized selector sent to instance