У меня есть словарь с типом [Int: [Int]]
, я хочу сохранить его по умолчанию. Ключ словаря выглядит так: 1100110004
и значение:
[1,2,0,0]
Но я получил эту ошибку:
Попытка вставить объект списка не свойств {\ n 1100110004 = (\ n 1, \ n 2, \ n 0, \ n 0 \ n); \ n} для ключа visibleChart1100110004 "
вот мой код:
let userDefaults = UserDefaults.standard
private lazy var visibleChartDictionary = [Int: [Int]]()
и в функции:
visibleChartDictionary = [id : convertChartTypetoInt(chartType: visibleCharts)]
chartUserDefaults.set(visibleChartDictionary, forKey: "visibleChart\(id)")
Здесь есть функция для преобразования модели данных в Int (я читал, что Я не могу сохранить тип модели данных в пользовательских значениях по умолчанию)
func convertChartTypetoInt(chartType:[ChartType]) -> [Int] {
var chartTypeInt: [Int] = [0, 0 , 0, 0]
let ecgNumber = 1
let respiratoryNumber = 2
let bodyTempNumber = 3
let activityNumber = 4
//ecg
if let index = chartType.firstIndex(where: {$0 == .ecg}) {
chartTypeInt.remove(at: index)
chartTypeInt.insert(ecgNumber, at: index)
}
//respiratory
if let index = chartType.firstIndex(where: {$0 == .respiratory}) {
chartTypeInt.remove(at: index)
chartTypeInt.insert(respiratoryNumber, at: index)
}
//body temp
if let index = chartType.firstIndex(where: {$0 == .bodyTemp}) {
chartTypeInt.remove(at: index)
chartTypeInt.insert(bodyTempNumber, at: index)
}
//activity
if let index = chartType.firstIndex(where: {$0 == .activity}) {
chartTypeInt.remove(at: index)
chartTypeInt.insert(activityNumber, at: index)
}
return chartTypeInt
}
Может ли кто-нибудь помочь мне в этом?