Swift에서 작성된 키보드 확장으로 표시된보기에 UIButton이 표시되지 않는 이유를 디버깅하려고합니다. 이Xcode 6은 Swift 클래스 객체의 값으로 "Some"이라는 텍스트만을 표시합니다.
dismissButton = (UIButton!) Some
로 LLDB 디버거 (엑스 코드 6.0.1)에 표시되는 때 나는 변수의 앞에 작은 계층 화살표를 사용하여 연락처의 조사했는데, 내가 그것을 전환 할 때 아무것도 표시되지 않습니다.
나는 PO와 함께 인쇄하여 불완전 기껏 보인다
<UIButton: 0x7fa673e0c6f0; frame = (27 14; 183 30); opaque = NO; autoresize = RM+BM; layer = <CALayer: 0x7fa673e0b680>>
를 얻으려고 (여기서 숨겨진?)
직접 스위프트 클래스 객체의 속성을 검사 할 수있는 방법이 있나요 LLDB에서? 뷰 계층 구조 디버거를 사용할 수 없습니다. 어떤 계층의 시뮬레이터 (4에서 6까지의 iOS 8)에 관계없이이 프로젝트에서는 "Capture View Hierarchy"를 사용할 수 없으므로 사용할 수 없습니다.
편집 : 내가 봤하지만 "일부는"디버거 맥락에서 무엇을 의미하는지에 어떤 문서화를 발견하지 않았습니다
(lldb) frame var -d run -- self.dismissButton
(UIButton!) self.dismissButton = Some {}
엔리코의 제안에 따라 경찰. 프로젝트에 구성 문제가 있는지 궁금합니다. 컨테이너 응용 프로그램은 Swift 뿐이지 만 템플릿 응용 프로그램이므로 Xcode 6.0.1에서 생성 된 기본값으로 완전히 이동했습니다.
이 Edit2가 : 그것은이었다 경우 엔리코, 그냥 '프레임 VAR'를 입력하면 그 안에 다음과 같이 자세한 출력을 생성하는 것은
dismissButton = Some {
Some = 0x00007fb90261f2e0 {
UIKit.UIControl = {
UIKit.UIView = {
UIKit.UIResponder = {
ObjectiveC.NSObject = {}
}
}
}
}
}
그것은 일부는 실제로 무언가를 의미 찾기 위해 기쁘게, 더 흥미로운 (확실하지 않았다 nil의 특별한 경우 버전), 개체를 더 파고 들기위한 방법이 필요합니다. 당신의있는 UIButton이 스위프트 선택 사항이기 때문에
"불완전한"po 출력은 LLDB 문제가 아닙니다 (po는 우리가 아닌 프레임 워크에 의해 구동 됨) –
"일부"에 대해서는 열린 상태로 확장하면 포인터 값이 표시되지 않습니다. . (lldb) frame var -d run-dismissButton을 시도해 볼 수 있습니까? –