我知道以前曾发布过这样的问题,但我试图获得特定于我的代码的直接答案。我看过另一篇文章,并按照它到达了这个阶段。
我的日志中有(null) libc++abi.dylib: terminate called throwing an exception
一行。我已经将其追溯到这行代码:
normalCell.textLabel.text = [[displayArray objectAtIndex:indexPath.row] objectForKey:@"name"];
这是在我的cellForRowAtIndexPath
方法中,其中包含以下代码:
static NSString *normalCellIdentifier = @"normalCell";
static NSString *topRowCellIdentifier = @"topRowCell";
UITableViewCell *normalCell = [tableView dequeueReusableCellWithIdentifier:normalCellIdentifier];
if (normalCell == nil)
{
normalCell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:normalCellIdentifier];
}
UITableViewCell *topRowCell = [tableView dequeueReusableCellWithIdentifier:topRowCellIdentifier];
if (topRowCell == nil)
{
topRowCell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:topRowCellIdentifier];
}
// Configure the cell...
if (searchBar.selectedScopeButtonIndex != 0)
{
normalCell.textLabel.text = [[displayArray objectAtIndex:indexPath.row] objectForKey:@"name"];
}
if (segmentedControl.selectedSegmentIndex == 0)
{
if (indexPath.section == 0)
{
[self makeButtonsForTableView:tableView atIndexPath:indexPath withTableViewCell:topRowCell];
[topRowCell addSubview:button1];
[topRowCell addSubview:button2];
topRowCell.selectionStyle = UITableViewCellSelectionStyleNone;
return topRowCell;
}
else
{
return normalCell;
}
}
else
{
return normalCell;
}
有我所有的makeButtonsForTableView
按钮代码,但这不是问题,因为我已经从代码中删除了它,问题仍然存在,所以我不需要包含它。
其displayArray
内容取决于 on selectedSegmentIndex
aUISegmentedControl
和 on aUISearchBar
的选定范围。
它从我的网站域的导入中获取其值的每个数组是: modsArray itemsArray serversArray pluginsArray newItemsArray newBlocksArray newMobsArray
谢谢你提供的所有帮助。
-- 编辑 22:40GMT - 27/09/2012 --
所以我记录了displayArray
应用程序加载时的内容,这就是日志
2012-09-27 22:39:56.539 AppName[22949:11303] (
)
2012-09-27 22:39:56.675 AppName[22949:11303] (
)
-- 编辑 23:13GMT - 27/09/2012 --
有趣的是,当我更改选项卡并返回时,日志更改如下:
2012-09-27 23:13:14.074 MinePedia[23853:11303] DisplayArray Count: 0
2012-09-27 23:13:14.074 MinePedia[23853:11303] IndexPath Row: 0
2012-09-27 23:13:14.355 MinePedia[23853:11303] DisplayArray Count: 0
2012-09-27 23:13:14.355 MinePedia[23853:11303] IndexPath Row: 1
对此
2012-09-27 23:13:14.074 MinePedia[23853:11303] DisplayArray Count: 1
2012-09-27 23:13:14.074 MinePedia[23853:11303] IndexPath Row: 1
2012-09-27 23:13:14.355 MinePedia[23853:11303] DisplayArray Count: 1
2012-09-27 23:13:14.355 MinePedia[23853:11303] IndexPath Row: 0
有谁知道这是什么意思?
-- 编辑 23:42 - 27/09/2012 --
好的,这是一个与以前不同的问题,它现在不会崩溃,所以这已经解决了,谢谢 Mayur,但是现在在启动时,直到顶部的选项卡被更改,范围和表视图保持索引路径大于计数。我该如何解决?