1

这段代码在 Xcode 4.6 中运行良好,但在 Xcode5/IOS7 中不再运行。

根据部分中的 ID 行在静态表中可见或不可见(与部分标题一起)。如果以下代码被注释掉,视图控制器将加载,否则会生成:由于未捕获的异常 'NSRangeException' 导致应用程序终止,原因:' * -[__NSArrayI objectAtIndex:]: index 1 beyond bounds [0 .. 0]'

视图控制器是一个 UITableView,除了 numberOfRowsInSection 之外的所有内容都被注释掉了。

任何想法如何恢复此功能?

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    if(section == 1)
    {
        if(ID == 1) return 0;
        else return 1;
    }
    else return 2;
}

谢谢

解决了!!!将“else return 2”替换为:

else return [super tableView:tableView numberOfRowsInSection:section];
4

1 回答 1

0

您的标准行数是 2。您必须假设代码中的其他地方,即使您为索引为 1 的部分返回 0 或 1,您也可以访问第二行(索引为 1)。

这可以解释为什么您的代码会导致此错误而不会导致此错误。

于 2013-09-20T17:37:16.493 回答