以下是我收到的错误消息:
- [test1ViewController tableView:numberOfRowsInSection:]:无法识别的选择器发送到实例0x8a3e300
然而,我注释掉'numberOfRowsInSection'...为什么xcode仍然记得它?
我试图查看文档,但找不到任何东西......
我清理了项目 我点击了'build'
还是同样的问题。
答案 0 :(得分:6)
tableView:numberOfRowsInSection:
是UITableViewDataSource
所需的方法。这意味着您的控制器需要实现这一点。
来自Apple docs for UITableViewDataSource
- tableView:cellForRowAtIndexPath:required method
- tableView:numberOfRowsInSection:required method
如果您的控制器被标记为来自XIB的表视图的数据源,或者以编程方式标记为
@interface MyController: UIViewController <UITableViewDataSource>
@end
如果您注释掉所需的函数,它将在运行时崩溃。
要解决此崩溃问题,请保留方法的空白实现或完全删除数据源。
希望有所帮助!
答案 1 :(得分:0)
查看UITableViewDelegate
“numberOfRowsInSection”是iOS中UITableView所必需的委托,这不是一个可以忽略的可选方法。
答案 2 :(得分:0)
解决了问题 - 我从项目中删除了所有内容,但它仍然出错 - 但我错过了一些事情 - 故事板。
我有一个视图,其中包含一个表视图,该视图仍然“挂钩”到包含该臭名昭着的函数的.m文件中。然后我断开了它。现在错误消失了。