Ios 从另一个类快速访问IBOutlet

Ios 从另一个类快速访问IBOutlet,ios,Ios,因此,我得到了我的视图控制器,它有一个IBOutlet属性,该属性允许视图控制器访问添加的视图(一个拖到情节提要文件中的视图控制器中的视图,视图类也有一个UILabel属性outlet) 我正在试图修改视图类中uilabel的文本。 首先,我尝试直接使用view.label.text=“some text”,但没有成功。 然后我在view类中编写了一个函数来设置标签文本,它神奇地工作了。为什么第一种方法不起作用而第二种方法起作用 class Controller : UIViewControll

因此,我得到了我的视图控制器,它有一个IBOutlet属性,该属性允许视图控制器访问添加的视图(一个拖到情节提要文件中的视图控制器中的视图,视图类也有一个UILabel属性outlet) 我正在试图修改视图类中uilabel的文本。 首先,我尝试直接使用view.label.text=“some text”,但没有成功。 然后我在view类中编写了一个函数来设置标签文本,它神奇地工作了。为什么第一种方法不起作用而第二种方法起作用

class Controller : UIViewController {

    @IBOutlet weak var answerResultView: AnswerResultView!

    @IBAction func button(sender : AnyObject){
        answerResultView.text = "some text" //this line doesn't work
        answerResultView.setText("some text")
    }
}

class TheView : UIView {

    @IBOutlet weak var label : UILabel!

    func setText(text : String){ 
        label.text = "Some text"
    }
}
非常感谢您的回答

试试这个

answerResultView.label.text = "some text"

第二种方法是调用视图的方法,在该方法中设置标签的文本

第一种方法是错误的,因为您试图设置视图的文本而不是其标签。 使用


“不工作”是什么意思?请确保在为拥有插座的视图控制器调用
viewDidLoad()
后访问插座。在此之前,它们没有初始化。您在同一时间调用了这两个函数?
answerResultView.label.text = "some text"