調試iOS的目標,斯威夫特3時,Xcode 8.2,LLDB-360.1.68斯威夫特3和LLDB:的UIView打印框架,給十六進制地址
我想打印一個UIView的frame
其地址在我抓住了一個較早的斷點。這是我最好的一拍,也是令人失望的結果:
(lldb) expr -l objc -O -- NSStringFromRect((CGRect)([(UIView*)0x7a241b30 frame]))
error: use of undeclared identifier 'CGRect'
謝謝!
謝謝,@featherless,但這不適用於我。我認爲,* swift調試器*你的意思是lldb。這是發生了什麼: '(LLDB)PO unsafeBitCast(0x7a241b30,至:UIView.self).frame' '錯誤:使用未聲明的標識符「的to'' 雖然出現在unsafeBitCast的使用()根據當前的Swift 3文檔來說是正確的,我嘗試了幾個變體,但仍然在'to'上出現這個錯誤。 –
很不幸! lldb以任何方式自動完成你的工作嗎?你可能與我使用的Swift版本不同。嘗試'unsafeBitCast(0x7a241b30,UIView.self)'。 – featherless
我最近沒有看到lldb自動完成。我剛剛重新測試了全新的版本8.2(8C38)。我使用的是Swift 3.你以前的評論表明我刪除了'to:'和'.frame'。這會導致在'UIView'類型的對象上找不到'error:property'self',這當然更加荒謬。刪除'.self'也會導致'error:unexpected interface name'UIView':expected expression'。啊,我想我現在看到了這個模式。沒有工作:))這是否適合你,如果是的話,你使用的是什麼Xcode和Swift版本? –