EXC_BAD_ACCESS滚动TableView

时间:2012-07-31 18:39:44

标签: objective-c ios

当我滚动我的TableView时,我得到了EXC_BAD_ACCESS。我听说过像被称为错误的东西,我不知道。这是我的代码:

        -(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
            return [[resultsDictionary objectForKey: @"bills"] count];
        }

        - (UITableViewCell *)tableView:(UITableView *)tableView 
                 cellForRowAtIndexPath:(NSIndexPath *)indexPath {

            // Identifier for retrieving reusable cells.
            static NSString *cellIdentifier = @"MyCellIdentifier";

            // Attempt to request the reusable cell.
            UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier];

            // No cell available - create one.
            if(cell == nil) {
                cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle 
                                              reuseIdentifier:cellIdentifier];
            }


            NSArray *billsArray = [resultsDictionary objectForKey:@"bills"];

            cell.textLabel.text = [NSString stringWithFormat:@"%@", [[billsArray objectAtIndex:indexPath.row] objectForKey:@"name"]];

            return cell;
        }

修改

我认为错误就在这里:

* - [JKArray objectAtIndex:]:发送到解除分配的实例0x6a5d030的消息

NSString *cellName = [NSString stringWithFormat:@"%@", [[billsArray objectAtIndex:indexPath.row] objectForKey:@"name"]];

2 个答案:

答案 0 :(得分:1)

看起来resultsDictionary是一个悬垂的指针。如果您使用ARC,则需要在某处强烈引用它。如果您不使用ARC,则需要将其保留在某处。

答案 1 :(得分:0)

固定。我的billsArray缺少'self'实例,就像在cellForRowAtIndexPath方法中一样。谢谢大家。