Frage

Ich bin vor ein wenig seltsames Problem mit der Implementierung von UIAccelerometer. Ich habe einen UITableViewController, wo ich nicht tun UIAccelerometer will verwenden, aber nach dem Einschalten der Zeilen drückt Ich will ein in einem UIViewController aktiviert, alles in Ordnung ist, wenn ich Simulator verwenden, aber wenn ich Gerät verwenden, iPhone 3G, es zu testen, ich habe EXC_BAD_ACCESS von Return-Taste drücken.

- (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];


}

Es funktioniert gut, wenn ich deaktivieren [percView release] ;, aber es ist nicht für ähnliche Lösung hat sich anhört. Jede Idee, würde geschätzt.

Shake Control Umsetzung:

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

}

- (void)viewDidUnload {
    [super viewDidUnload];

    [[UIAccelerometer sharedAccelerometer] setDelegate:nil];
}

Thx

War es hilfreich?

Lösung

Die viewDidUnload Methode wird nur in speziellen Fall, wie Speicher Warnung aufgerufen. Sie haben auch die Delegierten in dealloc zu entfernen.

Andere Tipps

Versuchen Sie es die Freigabe, nachdem Sie es entlassen, ich bin nicht sicher, ob Pushviewcontroller behält.

Sie können die Umgebungsvariablen NSZombiesEnabled & NSAutoreleaseFreedObjectCheckEnabled mit einem Wert von 1 gesetzt. Dies wird Objekte verhindern, dass wirklich aufgehoben wird, dann sollten Sie Konsolenprotokolle erhalten anzeigt, wo die über Freisetzung herkommt.

Sie können laufen gelassen mit Performance-Tools verwenden. -> Verrechnungen, wenn Sie wissen, welches Objekt wird über freigegeben und jeden Ort sehen, wo ein retain / release aufgerufen wurde das Ungleichgewicht zu erkennen

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top