Nhờ tất cả các câu trả lời ở trên, secureBitCast cũng hoạt động tốt với Ứng dụng Xcode 8.3.2 / Swift 3 / macOS / Cocoa.
Ghi nhớ một địa chỉ của phiên bản hiện tại
(lldb) p tabView.controlTint
(NSControlTint) $R10 = defaultControlTint
(lldb) p self
(LearningStoryboard.NSTabViewController) $R11 = 0x00006080000e2280 {
.....
Sau đó, hãy kiểm tra chúng
(lldb) p unsafeBitCast(0x00006080000e2280, to: NSTabViewController.self).tabView.controlTint
(NSControlTint) $R20 = graphiteControlTint
(lldb) p $R11.tabView.controlTint
(NSControlTint) $R21 = graphiteControlTint
Nếu điều gì đó như thế này xảy ra
(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'
đảm bảo rằng hãy chọn một trong các khung ngăn xếp của mã nguồn Swift thay vì chọn một trong các khung hợp ngữ.
Có khả năng xảy ra khi ứng dụng bị tạm dừng bằng cách nhấp vào nút Tạm dừng hoặc dừng với một ngoại lệ. Bằng cách chọn một khung ngăn xếp cho phù hợp, hãy để lldb suy ra một ngôn ngữ lập trình thích hợp.