Core data и uiswitch


#1

Никак не пойму, как же сохранять большое количество uiswitch? Пример, пожалуйста )


#2

Что значит большое количество UISwitch? Значения или просто сами элементы?
А так, Вы можете просто все значения хранить в UserDefaults.


#3

Много UISwitch элементов на форме. И надо где-то хранить bool значение (вкл или выкл). Хранить в UserDefaults - довольно проблематично. Т.к. он может поместить в себя только одно значение(а там их очень много). А копипастить код:

override func viewDidLoad{
super.viewDidLoad
userdef.isOn = UserDefaults.standard.bool(forKey:"saveClick")
}
@IBAction func ClickUISwitch{
UserDefaults.standard.set(sende.isOn, "saveClick")
}

Это слишком массивно, и неправильно что-ли. Хотел узнать, можно ли как-то в Core data сделать это более грамотно?


#4

Создай кастомный класс UISwitch и сущность в CoreData, которая будет содержать в себе положение свитча, его имя/тег/порядковый номер (чем они у тебя там отличаются). В классе свитча создай свойство, чтобы передавать объект-модель CoreData в свитч и наблюдатель этого свойства, в котором меняешь внешний вид в зависимости от полученного объекта. При загрузке контроллера тянешь всю информацию из БД и динамически обновляешь интерфейс исходя из полученных данных. В итоге у тебя будет всего одна сущность, один кастомный класс и логика взаимодействия этих объектов для любого количества свитчей