Swift 1.1 및 Xcode 6.2 사용.
단일 사용자 지정 UIViewController
하위 클래스가 포함 된 UIStoryboard가 있습니다. 여기에 해당 컨트롤러 에서 스토리 보드 의 하위 클래스 로 @IBOutlet
연결되는 유형이 UIView
있습니다 . 또한 해당 뷰의 하위 뷰에 대한 유사한 콘센트가 있습니다. 그림 A를 참조하십시오.UIView
그러나 런타임에는 이러한 속성이 없습니다 (그림 B). 나는 Interface Builder에서 콘센트를 연결했다고 확신했지만.
생각 :
- 하위 클래스의 하위 클래스를 사용하고 있기 때문에 초기화가 엉망이 될 수 있습니까? 이니셜 라이저를 재정의하지 않습니다.
awakeFromNib:
어떤 이유로 전화를받지 않습니다- 아마도 하위보기의 하위보기에 연결되지 않을 수 있습니다.
내가 시도한 것 :
@IBOutlet
정확히 일치 및 스토리 보드 항목 유형 (대신UIView
)- 속성 및 콘센트를 삭제하고 다시 추가했습니다.
그림 A *
그림 B
* 가려진 코드 Figure A
는 다음과 같습니다.
@IBOutlet private var annotationOptionsView: UIView!
@IBOutlet private var arrivingLeavingSwitch: UISegmentedControl!
감사합니다.
clearView
전 전무가 될 것으로 예상합니다. 아직 리팩터링하지 않은 것입니다. 그림 A의 각주도 참조하십시오. @ShaanSingh 그래야합니다! 스토리 보드로부터의 연결은 런타임에 설정되며 nil이 아니어야하기 때문입니다.
let vc = UIStoryboard(name: "LocationPickerModal", bundle: nil) .instantiateViewControllerWithIdentifier("LocationPickerModalViewController") as LocationPickerModalViewController