我想问一下按下关闭按钮后如何清除表格视图数据?正如我在之前的解决方案中所理解的那样,是在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()
}
});
}
我需要把功能关闭,请指导我真的需要帮助。
答案 0 :(得分:-2)
func tableView(_ tableView:UITableView,numberOfRowsInSection section:Int) - > Int { return button.isSelected?0:name2_2.count };