0

TableView をスクロールすると、EXC_BAD_ACCESS が表示されます。alloc のようなものが間違って呼び出されていると聞きましたが、わかりません。これが私のコードです:

        -(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"]];
4

2 に答える 2

1

resultsDictionaryぶら下がっているポインターのように見えます。ARC を使用している場合は、ARC への強力な参照が必要です。ARC を使用していない場合は、どこかに保持する必要があります。

于 2012-07-31T18:47:58.707 に答える
0

修理済み。cellForRowAtIndexPath メソッド内のように、私の billsArray に「self」インスタンスがありませんでした。みんなありがとう。

于 2012-07-31T20:17:21.267 に答える