如何在tableview swift ios中显示已保存的清单

时间:2017-05-23 02:43:14

标签: ios uitableview checkbox swift3 tableview

我希望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]

2 个答案:

答案 0 :(得分:1)

如果id == data,只需在其中添加“ break”

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")

       }

}

答案 1 :(得分:0)

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)

    }