2016-01-22 7 views
13

Meine App verwendet Swift und eine 3rd-Party-Bibliothek in Objective-C. Wenn mein Debugger in den Objective-C-Code einsteigt, zeigt die Debug-Konsole die Werte meiner Swift-Zeichenfolge nicht korrekt an. Stattdessen können Daten nicht gelesen werden. Wie können wir dieses Problem lösen?Debug-Konsole zeigt keine Werte für Swift + Objective-C

enter image description here

+0

Wenn ich Strings in Swift erzeuge, erscheinen sie immer als '(String)' - also hängt das Problem vielleicht damit zusammen, dass '(Swift._NSContiguousString)' '? Vielleicht musst du es in einen String umwandeln? Ich habe Probleme mit Parse gesehen, verwenden Sie Parse? – Mike

+0

@Mike Ich benutze Auth0. E-Mail und Benutzername werden als String deklariert. – Boon

Antwort

3

Wenn Sie Xcode 7.3 verwenden können Sie schnelle Klassen debuggen aber Xcode weniger als 7,3 Sie für Objective-C-Klasse debuggen können. Sowohl schnelle als auch objektive c Unterstützung ist nicht da. Sie können diese objektiven c-Variablen kopieren und die objektiven c-Variablen mit "po objectiveC_variable" drucken.

0

Ich nehme an, dass Sie objektive C Bridging-Header auch verwenden können, um die objektive c-Bibliothek in Swift zu verwenden. Ich sehe, dass sowohl E-Mail und Passwort als Swift._NSContiguousString.And angezeigt werden, die der Fall sein kann, wenn die Überbrückungskopfzeile, die Sie für Ihre Bibliothek gemacht haben, möglicherweise ein Problem gibt oder nicht ordnungsgemäß ausgeführt, nicht sicher. Wenn das Bridging funktionierte, dann würde Swift._NSContiguousString als "NSString" behandelt werden und Sie könnten es einfach in "String" umwandeln. Das ist, was ich denke, Sie können auch den Bridging-Header überprüfen.

0

können Sie po {{variable_name}} auf LLDB für Drucklaufzeitwert verwenden und auch e {{variable_name}} für Print und e {{variable_name}} = {{value}} für setzen neuen Wert verwenden.

Aufmerksamkeit: wenn Sie po zur automatischen Vervollständigung der Arbeit verwenden, aber wenn die Verwendung e die automatische Vervollständigung funktioniert nicht.

Verwandte Themen