当我滚动我的tableview时,每个单元格中的整个数据都会重新加载。它在tablecell的视图中没有显示任何问题。 但是它会导致从每个单元格中检索到的数量计算总数时出现问题。当我们滚动tableview时,总值会重新添加。
这是我的代码:
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];
}
答案 0 :(得分:1)
只需在.h文件中输入一个变量,然后输入mLastIndex并将其初始值设置为-1
mLastIndex = -1;
然后将您的cellForRowAtIndexPath更改为
if (indexPath.row > mLastIndex) {
[self calculateValues];
mLastIndex = indexPath.row;
}