_NSArrayM objectAtIndex:]索引1超出边界[0 .. 0]'

时间:2015-01-24 22:23:45

标签: ios objective-c uitableview

我已经查看了有关此主题的所有其他问题,但它们似乎存在与我的代码无关的问题。我已经挣扎了一段时间,我希望另一双眼睛会看到我出错的地方。我在代码的各个方面放了断点。 " TableView numberOfRowsInSection"中有一个NSLog(@"number of rows, %lu",(unsigned long)self.eventContent.count);的断点。返回的部分:"行数,3"。我在" tableView cellForRowAtIndexPath"中也有一个断点。返回NSLog(@"cellForRowAtIndexPath. %lu",(long)indexPath.row);的部分:

"cellForRowAtIndexPath. 0"
"cellForRowAtIndexPath. 1"

错误发生在以cell.titleLabel.text开头的行的1处。当我拿出关于NSLogs的评论后,我可以看到第一个单元格生成o.k。

有人可以指引我到我可能看的其他地方吗? 所以提前感谢你......

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    NSLog(@"number of rows, %lu",(unsigned long)self.eventContent.count);
    return self.eventContent.count;
}

- (UITableViewCell *)tableView:(UITableView *)tableView  cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    static NSString *CellIdentifier = @"eventCell";
    EQCalendarCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

    // Get the event at the row selected and display its title
    NSLog(@"cellForRowAtIndexPath. %lu",(long)indexPath.row);
    cell.titleLabel.text = [[[eventContent objectAtIndex:indexPath.section]objectForKey:@"title"]objectAtIndex:indexPath.row];  //Fails here

    cell.notesLabel.text = [[[eventContent objectAtIndex:indexPath.section]objectForKey:@"notes"]objectAtIndex:indexPath.row];
    cell.startTimeLabel.text = [[[eventContent objectAtIndex:indexPath.section]objectForKey:@"startTime"]objectAtIndex:indexPath.row];
    cell.endTimeLabel.text = [[[eventContent   objectAtIndex:indexPath.section]objectForKey:@"endTime"]objectAtIndex:indexPath.row];

    return cell;

1 个答案:

答案 0 :(得分:2)

在您使用self.eventsList数组的部分中的行数中,而在您的cellForRow方法中,您要求objectAtIndex:数组的eventContent。你有可能搞砸了两者,因为eventContent显然没有eventsList

那么多的行