[英]Is init?(aDecoder:) or prepareForSegue(_:sender:) called first?
介紹
我正在嘗試調試程序,但遇到了問題。 我遇到了迅速的錯誤: Unexpectedly found nil while unwrapping an optional value.
此問題來自一個隱式展開的可選。 錯誤是在ViewControllerB的init?(aDecoder:)
,而我設置該值的地方是在ViewControllerA的prepareForSegue(_:sender:)
,它使用“ show segue”轉到ViewControllerB。
問題
這使我相信ViewControllerB中的init?(aDecoder:)
方法在ViewControllerA中的prepareForSegue(_:sender:)
之前被調用。 我對嗎?
是。 在可以將其用於應用程序中的其他位置之前,始終對其進行初始化。
如果需要做的工作取決於設置的屬性,通常應該從屬性或viewDidLoad()
方法中的didSet
觀察器觸發該工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.