当我滚动表格视图时,每个单元格中的全部数据都会重新加载。在表格单元格视图中没有任何问题。
但这会导致从每个单元格检索的数量计算总数时出现问题。滚动表格视图时,总值会重新添加。
这是我的代码:
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;
}