2012-08-22 1 views
0

스테퍼와 라벨이있는 사용자 정의 테이블보기 셀을 사용하고 있습니다. 하지만 스테퍼의 값을 확인하면 2 회 누를 때마다 한 번만 증가합니다. 무엇이 문제입니까?스테퍼 2 클릭당 1 번 증가

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    static NSString *cellIdentifier = @"cellData"; 
    ItemCell *cell = [self.myTableView dequeueReusableCellWithIdentifier:cellIdentifier]; 
    if (cell == nil) 
    { 
     cell = [[ItemCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdentifier]; 
    } 
    cell.stepper.tag = indexPath.row; 
    cell.countLabel.text = [NSString stringWithFormat:@"%g",cell.stepper.value]; 
    NSLog(@"value = %g",cell.stepper.value); 
    cell.itemLabel.text = [self.groceryItems objectAtIndex:indexPath.row]; 
    return cell; 
} 

- (IBAction)valueChanged:(id)sender 
{ 
    UIStepper *step = sender; 
    NSIndexPath *index = [NSIndexPath indexPathForRow:step.tag inSection:0]; 
    NSArray *rowsToReload = [NSArray arrayWithObject:index]; 
    [self.myTableView reloadRowsAtIndexPaths:rowsToReload withRowAnimation:NO]; 
} 
+0

내가 사용하는 경우 [self.myTableView reloadData]; 다음 그것은 잘 작동합니다. – vivek241

+0

'% g' 대신'% d'를 사용하는 것이 좋습니다. '% d = 32bit-integer' '% g = 64bit-double' – nooitaf

+0

stepper.value는 double이므로 % g을 사용했습니다 – vivek241

답변

0

시도가 당신의 valueChanged 방법이를 추가하려면 :

[self.myTableView beginUpdates]; 
[self.myTableView reloadRowsAtIndexPaths:rowsToReload withRowAnimation:NO]; 
[self.myTableView endUpdates]; 
+0

나는 그것을 시도했지만 여전히 도움이되지 않았다. – vivek241