Как отобразить сохраненный контрольный список в 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)

    }
Другие вопросы по тегам