应用程序崩溃使用AppDelegate启动tableView:numberOfRowsInSection:无法识别的选择器发送到实例

时间:2013-09-13 08:50:44

标签: objective-c uisearchdisplaycontroller uitableview

我有Search Display Controller在tableView中显示搜索结果,而另一个tableView在同一UIViewController中使用IB制作。该应用程序工作正常,直到我添加代码来填充我使用IB制作的tableView。但是现在当应用程序启动时,它会因显示以下错误而崩溃:

'-[VBSAppDelegate tableView:numberOfRowsInSection:]: unrecognized selector sent to instance 0xae18480'

以下代码用于设置节中的节数和行数(是的,非常正常的代码)

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
    return 1;
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    if (tableView.tag == 100) {
        return 60;
    }
    else {
        return [filteredList count];
    }    
}

我设置了两个断点并发现对于搜索显示控制器的tableView,它进入numberOfRowsInSection,然后在没有输入cellForRowAtIndexpath方法的情况下终止。知道为什么会这样吗?它与第二个tableView有什么关系吗?如何纠正这个?请询问是否需要进一步的代码。我正在为iPad开发。

2 个答案:

答案 0 :(得分:0)

您是否在NIB文件中建立连接以指定委托和数据源?

答案 1 :(得分:0)

我通过断开delegate通过IB放入datasource的tableView的xibdelegate连接来解决问题,然后我以编程方式连接。似乎问题是两个datasourcedelegate通过IB连接导致混淆或其他什么。希望这有助于可能面临类似问题的人。只需断开从IB插入的tableView的datasource和{{1}},然后以编程方式提供。