我有一个帐户列表TableView
。按下按钮后,项目将被删除。到目前为止,一切都很好。
删除后如何刷新tableView?请查看下面的屏幕截图以获取更多信息。
TableView在另一个ViewController中,要删除的按钮在ViewControllerCell中
class cellAccount: UITableViewCell {
@IBOutlet weak var imgAccount: UIImageView!
@IBOutlet weak var lblNomeAccout: UILabel!
@IBOutlet weak var btnDeletar: UIButton!
@IBAction func btnDeletar(sender: AnyObject) {
print(btnDeletar.titleLabel?.text)
if (bdAccount.indexOf((btnDeletar.titleLabel?.text)!) != nil) {
print(bdAccount.indexOf((btnDeletar.titleLabel?.text)!))
bdAccount.removeAtIndex(bdAccount.indexOf((btnDeletar.titleLabel?.text)!)!)
bdAccount.sortInPlace()
self.tableView.reloadData() // How to Reload???
}
}
override func awakeFromNib() {
super.awakeFromNib()
// Initialization code
}
override func setSelected(selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)
// Configure the view for the selected state
}
}
您可以尝试这种方式,添加一个NSNotificationCenter
在你的视图控制器中viewDidLoad
NSNotificationCenter.defaultCenter().addObserver(self, selector: "reloadData:",name:"reloadData", object: nil)
然后是它的selector
, 表示函数
func reloadData(notification:NSNotification){
// reload function here, so when called it will reload the tableView
self.TableView.reloadData()
}
将上述内容添加到 viewController 后,现在您需要调用/触发此通知来重新加载 TableView。所以在你的里面btnDelete
点击,
@IBAction func btnDeletar(sender: AnyObject) {
print(btnDeletar.titleLabel?.text)
if (bdAccount.indexOf((btnDeletar.titleLabel?.text)!) != nil) {
print(bdAccount.indexOf((btnDeletar.titleLabel?.text)!))
bdAccount.removeAtIndex(bdAccount.indexOf((btnDeletar.titleLabel?.text)!)!)
bdAccount.sortInPlace()
// This will fire the Notification in your view controller and do the reload.
NSNotificationCenter.defaultCenter().postNotificationName("reloadData",object: self)
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)