即使在调用presentViewController之后,View Controller中的UIView的值为Nil

时间:2016-09-18 18:39:52

标签: swift uiview uiviewcontroller presentviewcontroller

我有一个视图控制器,让我们称之为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为零。这很奇怪,因为:

  1. 当应用程序首次启动,并且调用ParentViewController的viewDidAppear时,这很好...... widget在这种情况下不是

  2. 但是当我转到另一个视图(称之为SecondView)然后COME BACK到此视图时,突然相同的方法调用会导致widget为nil并使应用程序崩溃。

  3. 我已经研究过其他Stackoverflow问题,看来现有的答案是调用" presentViewController"在尝试使用子视图控制器的组件之前。但正如代码中所述,这已经完成,但子视图控制器的组件widget由于某种原因是零。

  4. 注意:小部件声明为

    @IBOutlet weak var widget:AlertModal! //一个可重复使用的UIView

0 个答案:

没有答案