40 votes

tableView:canEditRowAtIndexPath: crash lors de l'popping viewController

J'ai un viewController avec un UITableView, les lignes de qui j'permettent de modifier (supprimer) avec un glisser - un peu comme dans l'application de Messagerie. Je le fais avec, entre autres, de cette méthode:

- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath {

    return YES;
}

Cependant, si j'ai un bouton supprimer révélée, et au même moment j'utilise le dos de la navigation de mon UINavigationController, c'est à dire quand j' popViewControllerAnimated:, l'application se bloque avec le message suivant:

[ViewController tableView:canEditRowAtIndexPath:]: message envoyé à désalloué instance 0xaae64d0

Comment puis-je résoudre ce problème?

75voto

Guy Kogus Points 3601

De votre point de vue du contrôleur dealloc méthode, mettre la table à une vue d' editing de la propriété d' NO.

42voto

Nathan Rabe Points 438

J'ai eu le même problème, mais j'ai été en utilisant l'ARC et je ne voulais pas être de déblayage à propos de la méthode dealloc. Le faire dans viewWillDisappear était suffisant pour arrêter la chute.

- (void)viewWillDisappear:(BOOL)animated {
    [super viewWillDisappear:animated];
    [table setEditing:NO];
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X