Grazie a tutte le risposte di cui sopra, unsafeBitCast funziona bene anche con Xcode 8.3.2/Swift 3/MacOS/Cocoa Application.
Memorizzare un indirizzo di istanza corrente
(lldb) p tabView.controlTint
(NSControlTint) $R10 = defaultControlTint
(lldb) p self
(LearningStoryboard.NSTabViewController) $R11 = 0x00006080000e2280 {
.....
Più tardi, esaminarli
(lldb) p unsafeBitCast(0x00006080000e2280, to: NSTabViewController.self).tabView.controlTint
(NSControlTint) $R20 = graphiteControlTint
(lldb) p $R11.tabView.controlTint
(NSControlTint) $R21 = graphiteControlTint
Se qualcosa del genere accade
(lldb) p unsafeBitCast(0x00006080000e2280, to: NSTabViewController.self).tabView.controlTint
error: use of undeclared identifier 'to'
(lldb) p $R11.tabView.controlTint
error: use of undeclared identifier '$R11'
assicurarsi che scegliere una delle stack frame di Swift codice sorgente piuttosto che assemblatore uno.
E 'probabile che accada quando l'applicazione è stata messa in pausa facendo clic su un pulsante di pausa o fermata con un'eccezione. Scegliendo un frame di conseguenza, consenti a lldb di dedicare un linguaggio di programmazione corretto.
Questo davvero non dovrebbe essere così difficile –
Questo è stato un po 'contro-intuitivo. Pensavo di non aver bisogno di digitare '(lldb)' nella mia console. Ma non ha funzionato senza quello. – Honey