如何访问@IBOutlet弱变量

时间:2017-07-27 19:34:00

标签: ios swift

刚开始使用swift。屏幕上的UI很少,想要在遵循特定条件时使用UI。 问题是当我们拖动UI并访问@IBoutlet之类的内容时,如下面的那样

 @IBOutlet weak var modifiedSegmentLoginRegister: UISegmentedControl!

如何在外面访问

func  viewDidLoad(){
its accessible here 
}

但不是外面无法接受的

无法在此处获得modifiedSegmentLoginRegister。

3 个答案:

答案 0 :(得分:0)

因此,在加载视图之前,实际上并未加载IBOutlets。所以在调用viewDidLoad之前它们实际上是不可用的。您可以在VC中创建一个var,然后在那里与它进行交互,然后将其添加到视图中

view.addSubview(item);

答案 1 :(得分:0)

您无法访问它,因为它的设计方式(目前此信息已足够)。

访问它需要做什么:创建在需要针对这些特定条件进行检查时触发事件的函数。在这些功能中,您可以访问Outlet。

例如:将按钮添加到ViewController>将其拖入代码>选择Action(但不是Outlet)>在那种方法中尝试做你需要的(检查那些条件等)>您会看到Outlet可以访问。

答案 2 :(得分:0)

我假设您正在尝试访问UISegmentedControl的属性或方法。 如: modifiedSegmentLoginRegister.setTitle("A" :forSegmentAt: 0)

IBOutlet就像任何其他变量一样。它可以声明或初始化为函数之外的实例变量。但是,如果要更改或访问它,则需要在函数内部执行此操作,例如viewDidLoad。您无法访问“在外部访问”。