Question

Je suis face à un peu étrange problème avec la mise en œuvre de UIAccelerometer. J'ai un UITableViewController où je ne veux pas utiliser UIAccelerometer, mais après avoir appuyé sur sur des lignes que je veux un à l'intérieur d'un activé UIViewController, tout va bien quand j'utilise un simulateur, mais quand j'utiliser un appareil iPhone 3G pour le tester, je suis arrivé EXC_BAD_ACCESS en appuyant sur le bouton de retour.

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {


     ShakeControl *percView = [[ShakeControl alloc] init];
     // ...
     // Pass the selected object to the new view controller.
     [self.navigationController pushViewController:percView animated:YES];
     [percView release];


}

Il fonctionne très bien quand je désactiver [la libération de percView] ;, mais il ne sonne pas comme solution. Toute idée serait appréciée.

Secouer la mise en œuvre de commande:

- (void)viewDidLoad {
    [super viewDidLoad];
    [[UIAccelerometer sharedAccelerometer] setUpdateInterval:1.0 / kUpdateFrequency];
    [[UIAccelerometer sharedAccelerometer] setDelegate:self];

}

- (void)viewDidUnload {
    [super viewDidUnload];

    [[UIAccelerometer sharedAccelerometer] setDelegate:nil];
}

Thx

Était-ce utile?

La solution

La méthode viewDidUnload sera appelé uniquement dans le cas particulier, comme avertissement de mémoire. Vous devez supprimer le délégué à dealloc aussi.

Autres conseils

Essayez de le relâcher après vous rejetez, je ne suis pas sûr si pushViewController conserve.

Vous pouvez régler les variables d'environnement et NSZombiesEnabled NSAutoreleaseFreedObjectCheckEnabled avec une valeur de 1. Cela permettra d'éviter des objets de vraiment être désallouée, alors vous devriez obtenir les journaux de la console indiquant où le cours de libération vient.

Vous pouvez utiliser les outils d'exécution avec des performances -.> Allocations une fois que vous savez quel objet est trop relâché et voir chaque endroit où un retain / libération a été appelé à repérer le déséquilibre

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top