Frage

Hey alle, Ich habe ein Array, das alle der .aif Dateipfade in meiner app hält, die ich unter Verwendung von Main und Ressourcen gefunden.

Dieses Array muss nach unten durch 2 View-Controller werden zu erreichen, wo es tatsächlich verwendet wird. Das Problem ist, es entweder abstürzt oder Protokolle etwas völlig falsch. Wenn ich mir Debuggen eine EXC_BAD_ACCESS Notiz bei dem Absturz, aber nicht, wenn ich laufe es in der Regel, wo es stürzt gerade.

Hier ist der Ort, an dem es funktioniert;

- (void)buildDrumTrigger {
     defaultSounds = [[NSArray alloc] initWithObjects: @"kick_3", @"aif", @"snare_1", @"aif",            @"HiHat_1", @"aif", @"ride_1", @"aif", @"crash_1", @"aif", @"crash_2", @"aif", @"crash_3", @"aif", @"wave_1", @"aif", nil];
     self.DrumObject = [[DrumTrigger alloc] initWithSounds:defaultSounds:5:volumeBox];
     [defaultSounds release];
     NSLog(@"Possible Sounds: %@", DrumObject.possDrumSounds);
}

Dass kehrt eine lange Liste von Pfaden, dass Ende in fileName.aif. Sie erhalten die Idee.

Allerdings ...

// Change the current view to the options window.
- (IBAction)goToOptionsView {
    NSLog(@"Loading options menu");
    NSLog(@"DrumObject.drumSounds: %@", DrumObject.drumSounds);
    NSLog(@"DrumObject.possDrumSounds: %@", DrumObject.possDrumSounds);
    optionsViewController.soundBox2 = DrumObject.drumSounds;
    optionsViewController.possDrumSounds = DrumObject.possDrumSounds;
    [self presentModalViewController:optionsViewController animated:YES];
}

führt dazu, dass Schnipsel einen Absturz. Wenn ich die Teile kommentieren, wo sie mit possDrumSounds beschäftigt, es funktioniert gut. Sonst stürzt oder ändert irgendwie das Array zufällige Objekte wie UIViewControllers enthalten, dass ich keine Ahnung, woher sie kamen.

Alle Hilfe dankbar, danke!

War es hilfreich?

Lösung

Du bist wahrscheinlich zu halten um Array innerhalb von DrumObject ohne es zu halten, so dass es mit Müll immer überschrieben endet.

Andere Tipps

Sie sind defaultSounds in buildDrumTrigger Freigabe, so durch die Zeit, andere Methoden, um den Zugriff versuchen Sie es, es zeigt auf Daten, die freigegeben worden ist.

EXC_BAD_ACCESS zeigt Sie den Zugriff auf Speicher versuchen, können Sie keinen Zugriff, in der Regel, weil Sie es bereits freigegeben haben.

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