ใช้ Swift 1.1 และ Xcode 6.2
ฉันมี UIStoryboard ที่มีUIViewController
คลาสย่อยที่เป็นเอกพจน์แบบกำหนดเอง ในนั้นฉันมีการ@IBOutlet
เชื่อมต่อประเภทUIView
จากคอนโทรลเลอร์นั้นไปยังUIView
คลาสย่อยบนกระดานเรื่องราว ฉันยังมีร้านค้าที่คล้ายกันสำหรับมุมมองย่อยของมุมมองนั้น ดูรูปก.
แต่ในขณะรันคุณสมบัติเหล่านี้เป็นศูนย์ (รูปที่ B) แม้ว่าฉันจะมั่นใจได้ว่าฉันได้เชื่อมต่อร้านค้าใน Interface Builder แล้ว
ความคิด :
- เป็นไปได้ไหมว่าเนื่องจากฉันใช้คลาสย่อยของคลาสย่อยบางอย่างทำให้การเริ่มต้นทำงานผิดปกติ ฉันไม่ได้ลบล้างตัวเริ่มต้นใด ๆ
awakeFromNib:
ไม่ได้รับการเรียกด้วยเหตุผลบางประการ- บางทีอาจไม่ได้เชื่อมต่อกับมุมมองย่อยในมุมมองย่อย
สิ่งที่ฉันได้ลอง:
@IBOutlet
ประเภทรายการที่ตรงกันและสตอรี่บอร์ด (แทนที่จะเป็นUIView
)- การลบคุณสมบัติและเต้ารับและเพิ่มเข้าไปใหม่
รูป A *
รูป B
* รหัสที่ถูกปิดบังFigure A
คือ:
@IBOutlet private var annotationOptionsView: UIView!
@IBOutlet private var arrivingLeavingSwitch: UISegmentedControl!
ขอบคุณ.
clearView
ฉันคาดว่าจะไม่มี มันเป็นสิ่งที่ฉันยังไม่ได้ refactor ดูเชิงอรรถสำหรับรูป A. @ShaanSingh มันควรจะเป็น! เนื่องจากการเชื่อมต่อจากสตอรีบอร์ด (ควรจะ) ตั้งค่าไว้ที่รันไทม์และไม่ควรเป็นศูนย์
let vc = UIStoryboard(name: "LocationPickerModal", bundle: nil) .instantiateViewControllerWithIdentifier("LocationPickerModalViewController") as LocationPickerModalViewController