Как отобразить сохраненный контрольный список в tableview swift ios
Я хочу мое tableView
показать сохраненные данные. Я пытался, но не получилось. Я хочу сохранить контрольный список после сохранения и повторного открытия представления.
Пожалуйста, помогите мне решить мою проблему.
Это мой код:
var id = [17,18,19]
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cellTheme: ThemeCell = self.tableView.dequeueReusableCell(withIdentifier: "cellTheme", for: indexPath) as! ThemeCell
cellTheme.themeLabel.text = listMenu[indexPath.row].theme
cellTheme.delegate = self
if id.isEmpty{
cellTheme.checkOutlet.image = UIImage(named: "ic_btn_home_checklist_off")
print("EMPTY")
}else{
for data in id{
print("TEST THEME \(id)")
print("DATA ! \(data)")
if listMenu[indexPath.row].id == data{
print("\(listMenu[indexPath.row].id) SAMA DENGAN DATA ")
cellTheme.checkOutlet.image = UIImage(named: "ic_btn_home_checklist_on")
}else{
print("\(listMenu[indexPath.row].id) TIDAK SAMA DENGAN DATA ")
cellTheme.checkOutlet.image = UIImage(named: "ic_btn_home_checklist_off")
}
}
}
return cellTheme
}
Примечание: listMenu[indexPath.row].id = [17, 18, 19, 146]
1 ответ
Просто добавьте "разрыв" внутри, если id == data
for data in id {
if listMenu[indexPath.row].id == data{
cellTheme.checkOutlet.image = UIImage(named: "ic_btn_home_checklist_on")
break
}else{
cellTheme.checkOutlet.image = UIImage(named: "ic_btn_home_checklist_off")
}
}
UserDefaults постоянно хранит данные пользователя. Эти данные будут храниться локально на устройстве.
// UserDefaults.standard().set("Rob", forKey: "name")
let nameObject = UserDefaults.standard.object(forKey: "name")
if let name = nameObject as? String {
print(name)
}
// let arr = [1, 2, 3, 4]
// UserDefaults.standard().set(arr, forKey: "array")
let arrayObject = UserDefaults.standard.object(forKey: "array")
if let array = arrayObject as? NSArray {
print(array)
}