有没有人知道如何构建我的代码,我可以访问tableview变量并从changevalues
方法重新加载数据。或者给我一些提示,如何做到这一点,因为我已经没有想法,我甚至不知道该怎么去谷歌。感谢
我制作了一个显示我情况的代码示例。我的问题:我想在changevalues
方法中重新加载tableview数据。我在CustomView init()方法中初始化了tableview和segmentedControl按钮。在changevalues
中加载数据的目的是因为当用户选择特定的段时,tableview应该刷新新数据。
主要的挑战是如何从changevalues
方法访问tableview?
UITableView和UISegmentedControl都是CustomView的子视图
如果我的问题是重复的,请参考那个问题,因为我已经搜索了我的问题的答案,但运气好的话。
class CustomView: UIView, UITableViewDataSource, UITableViewDelegate {
var changingTableviewData = []
override init(frame: CGRect) {
var tableView = UITableView(blah...)
tableview.background...
tableview.registercell...
tableview.delegate..
var customSegmentedB = UISegmentedcontrol(blah)
customSegmentedB.frame...
customsegmentedB.addTarget(self, action: "changevalues:", forControlEvents: .ValueChanged)
}
func changevalues(sender: UISegmentedControl) {
switch sender.selectedSegmentIndex {
case 1:
// I want to reload tableview Data
case 2:
// Also reload data
default:
// Also reload data
}
}
}
答案 0 :(得分:1)
只需添加self.tableView.reloadData()
答案 1 :(得分:1)
class CustomView: UIView, UITableViewDataSource, UITableViewDelegate {
var changingTableviewData = []
var tableView: UITableView?
override init(frame: CGRect) {
tableView = UITableView(blah...)
tableview.background...
tableview.registercell...
tableview.delegate..
var customSegmentedB = UISegmentedcontrol(blah)
customSegmentedB.frame...
customsegmentedB.addTarget(self, action: "changevalues:", forControlEvents: .ValueChanged)
}
func changevalues(sender: UISegmentedControl) {
tableView?.reloadData()
}
}