我有一个带有四个新标题,实现和接口文件的Tab Bar应用程序,并在IB中添加了这些作为源。他们采用以下格式:FirstView.h/m/xib
,SecondView.h/m/xib
。
然后我有第一,第二,第三和第四视图的文件。
还有一个名为FirstViewController
的文件。我没有触及它,我只是将其删除,因为我不需要它。
然后我为IB中的第一个视图(FirstView.h/m/xib
)布置了我的界面。它顶部有一个图像,标签下面有一个UITableView
。
我在FirstView.h/m
文件中找到了正确的连接(tableview的委托和数据源),然后按下Build。它看起来没有错误,所以我按下了Build and Go。
模拟器弹出,安装了应用程序并崩溃了。 (错误消息:Terminating app due to uncaught exception
)。
完整的错误消息:
2010-02-06 21:50:54.733 Mudo[52439:207] *** -[FirstViewController tableView:numberOfRowsInSection:]: unrecognized selector sent to instance 0x39101a0
2010-02-06 21:50:54.735 Mudo[52439:207] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[FirstViewController tableView:numberOfRowsInSection:]: unrecognized selector sent to instance 0x39101a0'
2010-02-06 21:50:54.736 Mudo[52439:207] Stack: (**LotsOfNumbers**)
我在另一个问题中询问了这一点,得到了答案,并修复了它:
显然在FirstViewController.h/m
- 文件中寻找代码,虽然我没有做任何事情让它在那里查找代码。
我通过在FirstView.h / m文件中添加两个接口和实现来解决这个问题。 (FirstView和FirstViewController)
当我运行应用程序时,屏幕上出现了表格视图和标签栏,但我的图像和标签没有显示。 我不知道为什么它在FirstViewController中寻找代码而不是FirstView ...我在IB中也有正确的连接..
答案 0 :(得分:1)
tableview正在尝试查询其数据源应显示的行数。如果您已将tableview的数据源插座连接到FirstViewController
类的实例,则需要在该类中实现-tableView:numberOfRowsInSection:
。