按下关闭按钮后快速清除tableview数据

时间:2017-04-19 01:47:43

标签: ios swift uitableview

我想问一下按下关闭按钮后如何清除表格视图数据?正如我在之前的解决方案中所理解的那样,是在removeall()之前使用tableview.reloadData()函数。但是,我的reloaddata处于覆盖主位,因为如果我removeall,我进入我的桌面视图后,所有数据都将丢失。

 override func viewDidLoad() {
        super.viewDidLoad()
        print("popupname",name2_2)
        self.view.backgroundColor = UIColor.black.withAlphaComponent(0.8)
        tableView.register(UITableViewCell.self, forCellReuseIdentifier: cellReuseIdentifier)

        self.showAnimate()
        tableView.dataSource = self
        tableView.delegate = self
    }

    @IBAction func close(_ sender: Any) {
 name2_2.removeAll()
        tableView.reloadData()

        self.removeAnimate()
    }

    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return name2_2.count
    }

    func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
        selectedrow = [name2_2[indexPath.row]]
        self.performSegue(withIdentifier: "unwindToMain1", sender: self)
        self.removeAnimate()
    }

    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell
    {
        let cell = tableView.dequeueReusableCell(withIdentifier: cellReuseIdentifier, for: indexPath as IndexPath)

        cell.textLabel?.text = name2_2[indexPath.row] as String

        return cell
    }

    func showAnimate()
    {
        self.view.transform = CGAffineTransform(scaleX: 1.3, y: 1.3)
        self.view.alpha = 0.0;
        UIView.animate(withDuration: 0.25, animations: {
            self.view.alpha = 1.0
            self.view.transform = CGAffineTransform(scaleX: 1.0, y: 1.0)
        });
    }

    func removeAnimate()
    {
        UIView.animate(withDuration: 0.25, animations: {
            self.view.transform = CGAffineTransform(scaleX: 1.3, y: 1.3)
            self.view.alpha = 0.0;
        }, completion:{(finished : Bool)  in
            if (finished)
            {
                self.view.removeFromSuperview()
            }
        });
    }

我需要把功能关闭,请指导我真的需要帮助。

1 个答案:

答案 0 :(得分:-2)

func tableView(_ tableView:UITableView,numberOfRowsInSection section:Int) - > Int { return button.isSelected?0:name2_2.count };