détecter une cellule dans un UITableViewRowAction
Bonjour,
Sur mon app je souhaite intégrer sur une uitableview un swipe à choix multiple pour pouvoir effectuer plusieurs actions à la manière de Mail sur iOS (pas uniquement le classique swipe to delete)
j'utilise UITableViewRowAction de la manière suivante pour une des actions:
-(NSArray *)tableView:(UITableView *)tableView editActionsForRowAtIndexPath:(NSIndexPath *)indexPath {
UITableViewRowAction *deleteAction = [UITableViewRowAction rowActionWithStyle:UITableViewRowActionStyleNormal title:@Delete handler:^(UITableViewRowAction *action, NSIndexPath *indexPath){
//ici mon action
PFQuery *query = [PFQuery queryWithClassName:@Activity];
[query whereKey:@fromUser equalTo:[PFUser currentUser]];
[query whereKey:@type equalTo:@comment];
[query whereKey:@toObject equalTo:self.item];
// trouver comment détecter cet objet sur le row ?
PFObject *object = [query ???
//
[object deleteInBackground];
}];
deleteAction.backgroundColor = [UIColor redColor];
Réponses
C'est le paramètre indexPath qui te donne la section et la rangée sur laquelle porte l'action.
Effectivement ça marche en faisant ceci
PFObject *object = [self.objects objectAtIndex:indexPath.row];
merci beaucoup jpimbert !
(Je n'ai jamais compris pourquoi NSIndexPath était aussi compliquée. C'est une classe que je n'ai jamais vu utilisée ailleurs quand dans une UITableView).
Je crois qu'elle est aussi utilisée dans UICollectionView
Je confirme.