iOS: click counter for row in tableview

Posted by roger.arliner21 on Stack Overflow See other posts from Stack Overflow or by roger.arliner21
Published on 2012-06-16T08:55:24Z Indexed on 2012/06/16 9:16 UTC
Read the original article Hit count: 223

Filed under:
|
|
|

I am developing and tableView in which in each row I have to display the click counter and row number.Each cell must have an initial click counter value of 0 when application is initialized. Then increment the click counter value within a cell whenever a user clicks on the cell.

I have take 26 fixed rows. I have taken tableData.plist file as in the attached image.

I am initializing the self.dataArray with the plist .

Now I want to do implementation in the didSelectRowAtIndexPath delegate method,if any row is tapped that row's click counter should increment.

- (void)viewDidLoad {
    [super viewDidLoad];

    NSString *path = [[NSBundle mainBundle] pathForResource:@"tableData" ofType:@"plist"];
    self.dataArray = [NSMutableArray arrayWithContentsOfFile:path];//array initialized with plist
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    return [self.dataArray count];
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *kCustomCellID = @"MyCellID";
    UILabel *label1 = [[UILabel alloc] initWithFrame:CGRectMake(160.0f, 2.0f, 30.0f, 20.0f)];
    UILabel *label2 = [[UILabel alloc] initWithFrame:CGRectMake(160.0f, 24.0f, 30.0f, 30.0f)];
    label2.textColor = [UIColor grayColor];
    UITableViewCell *cell = (UITableViewCell *)[tableView dequeueReusableCellWithIdentifier:kCustomCellID];
    if (cell == nil)
    {
        cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:kCustomCellID] autorelease];
        cell.selectionStyle = UITableViewCellSelectionStyleNone;
    }
    if([self.dataArray count]>indexPath.row)
    {
        label1.text = [[self.dataArray objectAtIndex:indexPath.row] objectForKey:@"Lable1"];
        label2.text =[[self.dataArray objectAtIndex:indexPath.row] objectForKey:@"Lable2"]; 
    }
    else {
        label1.text = @"";
        label2.text =@"";
    }
    [cell.contentView addSubview:label1];
    [cell.contentView addSubview:label2];
    [label1 release];
    [label2 release];
    return cell;
}


#pragma mark -
#pragma mark Table view delegate

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
   //implementation for row counter incrementer.
}

© Stack Overflow or respective owner

Related posts about iphone

Related posts about objective-c