我注释掉了一个方法,但是Xcode仍然记得它,并且给了我一个错误

时间:2013-09-19 12:00:28

标签: ios objective-c xcode

以下是我收到的错误消息:

  

- [test1ViewController tableView:numberOfRowsInSection:]:无法识别的选择器发送到实例0x8a3e300

然而,我注释掉'numberOfRowsInSection'...为什么xcode仍然记得它?

我试图查看文档,但找不到任何东西......

我清理了项目 我点击了'build'

还是同样的问题。

3 个答案:

答案 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文件中。然后我断开了它。现在错误消失了。