【问题标题】:How to display saved checklist in tableview swift ios如何在tableview swift ios中显示保存的清单
【发布时间】:2017-10-22 19:46:11
【问题描述】:

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

【问题讨论】:

    标签: ios uitableview checkbox swift3 tableview


    【解决方案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")
    
           }
    
    }
    

    【讨论】:

    • 已经很久了,但根据我的需要,谢谢
    【解决方案2】:

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

    【讨论】:

    • 您是否使用 CoreData 来存储清单信息?
    猜你喜欢
    • 1970-01-01
    • 2019-08-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多