这是我的UIViewController
:
class HabitTableViewController: UIViewController, UITableViewDataSource, UITableViewDelegate{
@IBOutlet weak var habitTableView: UITableView!
private var _numOfRowsInSects: [Int] = []
private var _habitsByDaySet = false
private var _habitsBySection:[[Habit]] = []
private var _whatIsToday = -1
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
habitTableView.delegate = self
habitTableView.dataSource = self
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
@IBAction func reloadTableForDay(sender: DayButton){
if sender.tag != getDayOfWeek(-1){
_whatIsToday = sender.tag
self.habitTableView.reloadData() //line of exception
}
else{
_whatIsToday = -1
}
}
// methods of UITableView delegate and data source implemented
}
我在NSInvalidArgumentException
行找到self.habitTableView.reloadData()
,原因是-[HabitWiz.HabitTableViewController reloadTableForDay:]: unrecognized selector sent to instance 0x7fb0d351b060
。我不知道这里发生了什么,感谢任何帮助。
答案 0 :(得分:1)
解决了它。我意识到我的应用程序没有正确构建:我插入了几个print
语句,这些语句没有被执行。所以我只是做了一个干净的构建,现在一切正常。
答案 1 :(得分:0)
我的猜测是你在界面构建器中搞砸了IBAction。
尝试取消连接并重新连接操作,并确保将ViewController设置为HabitTableViewController的子类。