我有一个视图控制器,让我们称之为ParentViewController,在" viewDidAppear",做一些计算(不管是什么)然后如果答案是肯定的话它调用以下函数来显示模态弹出窗口:
func showAlert(title: String)
{
let alertModal = storyboard!.instantiateViewControllerWithIdentifier("AlertController") as! AlertController
alertModal.modalPresentationStyle = .OverCurrentContext;
self.presentViewController(alertModal, animated: true, completion: nil);
alertModal.widget.title.text = title;
}
此行导致问题:
alertModal.widget.title.text = title;
表示widget
为零。这很奇怪,因为:
当应用程序首次启动,并且调用ParentViewController的viewDidAppear时,这很好...... widget
在这种情况下不是
但是当我转到另一个视图(称之为SecondView)然后COME BACK到此视图时,突然相同的方法调用会导致widget
为nil并使应用程序崩溃。
我已经研究过其他Stackoverflow问题,看来现有的答案是调用" presentViewController"在尝试使用子视图控制器的组件之前。但正如代码中所述,这已经完成,但子视图控制器的组件widget
由于某种原因是零。
注意:小部件声明为
@IBOutlet weak var widget:AlertModal! //一个可重复使用的UIView