【问题标题】:FirstViewController tableView:numberOfRowsInSection:] error with Static CellsFirstViewController tableView:numberOfRowsInSection:] 静态单元格错误
【发布时间】:2013-10-31 22:28:25
【问题描述】:

我正在制作一个带有静态单元格的表格视图的应用程序。在情节提要中,表格具有标签和开关。但是,当我尝试在模拟器上运行程序时,出现以下错误:

"FirstViewController tableView:numberOfRowsInSection:]: unrecognized selector sent to instance"

"Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[FirstViewController tableView:numberOfRowsInSection:]: unrecognized selector sent to instance "

我尝试实现以下方法(尽管我似乎不需要,因为我使用的是静态单元格):

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

但是,当我运行应用程序时,我得到了一张空白表格。

谁能给点建议?我对 iOS 编程很陌生,因此非常感谢任何帮助。

谢谢,

约旦

更新:

我认为我的问题是我使用没有 UITableViewController 的静态单元格。有什么方法可以在没有 UITableViewController 的情况下使用静态单元格?

【问题讨论】:

  • 你说得对,不需要表数据源方法。我无法在 IB 中设置没有 UITableViewController 的静态单元格。我知道其他人说 UITableViewController 不是必需的,但我只能让静态单元格与一个一起工作。
  • 当您说“静态单元格”时,您的意思是您已将内容类型(表格视图的顶部下拉菜单)设置为“静态单元格”而不是“动态原型”?
  • 如果您使用的是静态单元格,那么为什么要再次实现数据源方法,这样您的表格单元格将再次创建。不要忘记为每个单元格提供标识符。

标签: ios objective-c uitableview


【解决方案1】:

连接表视图的“dataSource”(在 XIB 或 Storyboard 文件中)以指向您的视图控制器,看看您是否有更好的运气。

另外,请确保您的 FirstViewController.h 符合“UITableViewDataSource”协议。在您的 .h 文件中,它应该如下所示:

@interface FirstViewController : UIViewController <UITableViewDataSource, UITableViewDelegate>

那里的“委托”声明还意味着您的视图控制器也可以处理任何委托方法,前提是您将表视图连接到您的控制器。

【讨论】:

  • 感谢您的快速回复!但是,我已经建立了联系。我的问题可能是因为我的表格视图位于 UIView 的“内部”吗?另外,我没有使用 UITableViewController。
  • 不,你不需要 UITableViewController。在你的“numberOfRowsInSection:”方法中设置一个断点,看看当你的视图显示时它是否停在那里。
猜你喜欢
  • 2015-08-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-10-22
相关资源
最近更新 更多