从instantiateViewControllerWithIdentifier加载UIViewController - nil outlet

时间:2016-04-25 22:42:56

标签: swift uiviewcontroller storyboard iboutlet

老实说,我无法理解我做错了什么。

我有这个UIViewController的共享实例:

static let sharedInstance = UIStoryboard(name:"Main", bundle:nil).instantiateViewControllerWithIdentifier("IAPNEW") as! newIAPClass

如果我正在展示它,而不是访问它,那么:

 self.presentViewController(newIAPClass.sharedInstance, animated: true, completion: nil)

它按预期工作(显示起来)。但是 - 如果我试图访问他的网点,那么它就会被"发现nil"错误:

        newIAPClass.sharedInstance.lbl_full.text = "mMM"
        self.presentViewController(newIAPClass.sharedInstance, animated: true, completion: nil) 

有人,知道为什么网点是零的吗?

1 个答案:

答案 0 :(得分:3)

最初未设置插座。处理此问题的标准方法是将数据存储在属性中,然后将这些数据移到viewDidLoad中的商店中。

由于您在单身人士中加载此内容,viewDidLoad只会被调用一次。而是将您的数据从属性复制到viewWillAppear中的商店。