簡體   English   中英

首先調用init?(aDecoder :)還是prepareForSegue(_:sender :)?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM