Reputation: 1695
In my application i am using UITableview. In that delegate method didselectrow if i done any operation cant happen just.
For example i have 3 rows in tableview
if i select 1 row (indexPath.row==0) nothing will happen
if again select 2 row (indexPath.row==1) now it is Logging in console indexPath.row ==0 which is previous value.
if again select 1 row then its logging its previous value indexPath.row=1.
Why this going like .
- (void)tableView:(UITableView *)tableView didDeselectRowAtIndexPath:(NSIndexPath *)indexPath
{
CustomerInfoViewController *customer = [[EquipmentViewController alloc]initWithNibName:@"CustomerInfoViewController" bundle:nil];
EquipmentViewController *equpment = [[EquipmentViewController alloc]initWithNibName:@"EquipmentViewController" bundle:nil];
ContactsViewController *contacts = [[ContactsViewController alloc]initWithNibName:@"ContactsViewController" bundle:nil];
if(indexPath.row == 0)
{
NSLog(@"one %d",indexPath.row);
[detailsView addSubview:customer.view];
}
if(indexPath.row == 1)
{
NSLog(@"two %d",indexPath.row);
[detailsView addSubview:equpment.view];
}
if(indexPath.row == 2)
{
NSLog(@"three%d",indexPath.row);
[detailsView addSubview:contacts.view];
}
}
Please anyone help me.
Thanks in advance.
Upvotes: 5
Views: 3170
Reputation: 1106
Wrong method implementation as Vladimir said. use didSelectRowAtIndexPath
Upvotes: 1
Reputation: 170839
You've implemented didDeselectRowAtIndexPath
method, not didSelectRowAtIndexPath
as intended
Upvotes: 19