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