EXC_BAD_ACCESS beim Aktualisieren des Swift-Wörterbuchs, nachdem es zur Auswertung von NSExpression verwendet wurde

8

Ich verwende ein Wörterbuch, um einen Ausdruck auszuwerten, wenn der Ausdruck Variablen enthält und das Wörterbuch tatsächlich von NSExpression verwendet wird, passiert etwas und ich bekomme EXC_BAD_ACCESS beim Versuch, das Wörterbuch zu aktualisieren, dies geschieht nur beim Debuggen in einem iPhone6. nicht im Simulator und nicht in einem iPhone 4S.

%Vor%

Etwas wirklich Seltsames ist, dass wenn ich diese Zeile direkt nach dem Erstellen des Wörterbuchs hinzufüge, dann funktioniert es gut:

%Vor%

Ich benutze iOS 8.1. Vielen Dank im Voraus!

    
juanelomx 06.11.2014, 18:45
quelle

1 Antwort

0

Mit dem @bensarz-Kommentar dachte ich, dass es hilfreich für andere sein könnte, die nach Antworten suchen, wenn ich die Antwort in eine tatsächliche Antwort anstatt in einen Kommentar setze.

Per @ LeeWhitneys Antwort auf einen ähnlichen Beitrag:

Sieht wie ein Compilerfehler aus.

Haben Sie versucht, zwischen Release und Debug zu wechseln und dann neu zu erstellen? Wenn Debug funktioniert, aber nicht freigegeben wird, kann dies ein Hinweis auf einen Compiler- / Optimierungsfehler sein.

Trifft das auch im Simulator zu?

Ihr Code funktioniert bei iOS 8.1 mit XCode 6.1.

Lösung: Das Problem scheint dadurch gelöst zu sein, dass die "Optimierungsstufe" unter "Swift Compiler - Code Generation" auf "None" geändert wurde. Das Problem scheint mit der "Schnellsten" Compiler-Optimierungsebene zu sein.

Auch ein Workaround, den ich vor der Änderung des Compilers gefunden habe:

Wenn Sie vor dem Zuweisen von Werten im Wörterbuch eine let-Anweisung verwenden, scheint dies das Problem zu beheben. Weitere Informationen finden Sie unter folgendem Link:

EXC_BAD_ACCESS auf iOS 8.1 mit Dictionary

    
steventnorris 13.03.2015 14:41
quelle