当我滚动表格视图时,每个单元格中的全部数据都会重新加载。在表格单元格视图中没有任何问题。
但这会导致从每个单元格检索的数量计算总数时出现问题。滚动表格视图时,总值会重新添加。

这是我的代码:

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {

       cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier] autorelease];   //subtitle view supprot

    }

    //Get the object from the array.
    order *orderObj = [appDelegate.orderArray objectAtIndex:indexPath.row];

    //Set the ordername.
    cell.textLabel.text = orderObj.itemName;
    cell.detailTextLabel.text=[NSString stringWithFormat:@"Quantity : %@  Price : %@ Spiciness : %@", orderObj.quantity,orderObj.price,orderObj.spiciness];

       quan=[orderObj.quantity intValue];
       pri=[orderObj.price floatValue];

   [self calculateValues];

    return cell;

}


在计算值时:

-(void)calculateValues{

    itemPrice=itemPrice+pri;

    float subtot=quan * itemPrice;

    _subTotal.text=[NSString stringWithFormat:@"%.2f", subtot];


}

最佳答案

只需在.h文件中输入一个变量,例如mLastIndex并将其初始值设置为-1

mLastIndex = -1;


然后在您的cellForRowAtIndexPath中更改为

if (indexPath.row > mLastIndex) {
            [self calculateValues];
            mLastIndex = indexPath.row;
        }

10-07 22:46