如何在第二个View Controller内部初始化View Controller插座?

时间:2018-08-07 21:59:47

标签: ios swift xcode

如何从第二个视图控制器中通过访问第二个视图控制器IBOutlets?在我的情况下,我使用这样的语句初始化当前的视图控制器。

let eqController = EqualizerViewController()

尽管此语句有效,但在引用eqController中的出口时,它在构建时成功,但在运行时失败,因为他的出口为零。如何在当前视图控制器中初始化这些出口?预先感谢。

2 个答案:

答案 0 :(得分:1)

您无法访问插座,因为直到Vc加载它们才为零,所以在第二个VC内

class SecondVc:UIViewController {
   var sendedStr = ""  
}

//

let vc = storyboard.instantiateViewController(withIdentifier: "secondId") as! SecondVc
vc.sendedStr = ""
// here  present / push

答案 1 :(得分:0)

如果您尝试初始化要显示的视图控制器,则需要使用情节提要,而不要执行let eqController = EqualizerViewController()

尝试以下方法:

let storyboard = UIStoryboard(name: "Main", bundle: nil)
let eqController = storyboard.instantiateViewController(withIdentifier: "eqController") as? EqualizerViewController

但是您还需要在情节提要中更新视图控制器的标识符,如下所示: enter image description here