我得到致命錯誤:意外發現零,同時運行我的應用程序它掛在下面的代碼 @IBInspectable致命錯誤:意外發現零而展開的可選值
回答
發生這種情況,因爲當展開一個可選值Inspectable正在觸發你的hasBottomLine
屬性被設置,因此didSet
屬性觀察者被稱爲之前您的主視圖被加載。
我要去猜測,你lineHeightConstraint
可能是定義爲隱式展開可選的,是這樣的:
@IBOutlet weak var lineHeightConstraint: NSLayoutConstraint!
你必須在使用前解開可選,例如:
lineHeightConstraint?.constant = hasBottomLine ? 3 : 0
在加載視圖後,您可能仍然需要設置此約束,因此您可能需要檢查可選項是否包含零,如果設置了標記,並稍後在您的viewDidLoad
方法中執行此行。 (或者你可以叫它不管你的viewDidLoad)
更新的答案,但有額外的信息,這個代碼在子類的UIView而不是UIViewController中。
您可以在UIView的layoutSubviews
方法中更新您的viewDidLoad
方法中的約束常量,而不是更新約束常量。例如:
override func layoutSubviews() {
super.layoutSubviews()
lineHeightConstraint?.constant = hasBottomLine ? 3 : 0
}
刪除了錯誤,但仍未加載視圖。 –
你的意思是'視圖仍然沒有加載'。 - 你的viewDidLoad方法沒有被調用?或者你試圖設置的約束沒有被設置?如果約束沒有被設置,你還需要在你的viewDidLoad方法中設置它。 –
此代碼來自HeaderView,它是一些其他視圖的一部分。鏈接到這個標題的視圖不會被加載。所以這個應用程序只是掛在那一點。 –
- 1. 致命錯誤:意外發現零而展開的可選值
- 2. 致命錯誤:意外發現零而展開的可選值,而展開SKSpriteNode
- 3. 「致命錯誤:意外發現零而展開的可選值」,而從CloudKit
- 4. DKImagePickerController致命錯誤:意外發現零而展開的可選值
- 5. 致命錯誤:意外發現零而展開的可選值JSON
- 6. .reloadData()致命錯誤:意外發現零而展開的可選值
- 7. 致命錯誤:意外發現零而展開的可選值(LLDB)
- 8. 雨燕1.2:致命錯誤:意外發現零而展開的可選值
- 9. 迅速coredata致命錯誤:意外發現零而展開的可選值
- 10. 找不到致命錯誤:意外發現零而展開的可選值
- 11. 致命錯誤:意外地發現零而展開的可選值Mapkit
- 12. 致命錯誤:意外發現零而展開的可選值傾斜問題]
- 13. 斯威夫特致命錯誤:意外發現零而展開的可選值
- 14. IOS:致命錯誤:意外發現零而展開的可選值(LLDB)
- 15. 致命錯誤:意外發現零而展開的可選值(LLDB)
- 16. 致命錯誤:意外地發現零而展開的可選值(LLDB)
- 17. 致命錯誤:意外發現零而展開的可選值CMMotionManager
- 18. 錯誤意外地發現零而展開的可選值
- 19. JSONObjectWithData錯誤:意外發現零而展開的可選值
- 20. 致命錯誤:意外發現零而展開的實體
- 21. 致命錯誤:意外發現零而展開
- 22. 致命錯誤:意外地發現零,同時展開一個可選值(lldb)
- 23. Swift - 致命錯誤:在MKCoordinateRegionMakeWithDistance上展開可選值時意外發現爲零
- 24. 致命錯誤意外地發現零,同時展開一個可選值[Firebase]
- 25. 我有這樣的錯誤:「致命錯誤:意外發現零而展開的可選值」在Xcode 8 SWIFT 3
- 26. 無法找到可選代碼:致命錯誤:意外發現零而展開的可選值
- 27. SWIFT編碼錯誤:致命錯誤:意外地發現零而展開的可選值
- 28. 致命錯誤:意外地發現零而展開的可選值,而對象的接收的子陣列
- 29. 意外地發現零而展開的可選值(可綁定)
- 30. 「致命錯誤:意外發現零而展開的可選值」 - 發佈圖片至Facebook
什麼/你的'lineHeightConstraint'在哪裏? – holex