【发布时间】:2011-06-22 19:25:51
【问题描述】:
我在 xcode 中有这个错误:
Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[NSMutableArray objectAtIndex:]: index 6 beyond bounds [0 .. 5]'
*** Call stack at first throw:
我使用这个代码:
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
// Return the number of rows in the section.
int num_rows = 0;
switch (section) {
case 0:{
num_rows = [messageReceive count];
}
break;
case 1:{
num_rows = [messageSend count];
}
break;
return num_rows;
}
但我尝试了很多代码但同样的错误。我使用 UITableView 从带有 Json 的脚本 php 中获取消息。在“messageReceive”中,有时我有 0 条或 1 条或多条消息。 messageSend 也是如此。
谢谢
这是我的 cellForRowAtIndexPath
// Configure the cell.
NSDictionary * dictMessReceive = [self.messageReceive objectAtIndex:indexPath.row];
NSDictionary * dictMessSend = [self.messageSend objectAtIndex:indexPath.row];
switch ( indexPath.section )
{
case 0:
if (pseudoLabel.text =[dictMessSend objectForKey:@"sender"] )
{cell.detailTextLabel.text = [dictMessSend objectForKey:@"receiver"];
cell.text= [dictMessSend objectForKey:@"message"];
}
break;
case 1:
if (pseudoLabel.text =[dictMessReceive objectForKey:@"receiver"] )
{cell.detailTextLabel.text = [dictMessReceive objectForKey:@"sender"];
cell.text= [dictMessReceive objectForKey:@"message"];
}
else {
//cell.text = @"No message";
}
break;
}
return cell;
【问题讨论】:
-
贴出 cellForRowAtIndexPath 函数的代码。异常很可能来自那里。
-
你的
tableView:cellForRowAtIndexPath:方法是什么样子的 -
"tableView numberOfRowsInSection" 不是一个好的问题标题