入门篇中的label控件是最基础的展示控件,本篇介绍该控件和代码关联,在代码中可以动态修改label文本属性。
定义变量
首先打开工程中ViewController.swift文件,初始代码如下:
import@H_403_13@ UIKit
class@H_403_13@ ViewController: UIViewController {
override@H_403_13@ func viewDidLoad() {
super@H_403_13@.viewDidLoad()
// Do any additional setup after loading the view,typically from a nib.@H_403_13@
}
override@H_403_13@ func didReceiveMemoryWarning() {
super@H_403_13@.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.@H_403_13@
}
}
其中方法viewDidLoad方法为程序运行之后会执行的方法。
在定义变量的地方,定义label控件类型的变量,如下:
@IBOutlet weak@H_403_13@ var@H_403_13@ label: UILabel!//其中label即是变量名称@H_403_13@
定义了UILabel类型的变量,控件类型可以通过如下方式查看:
变量和控件关联
如下图:
可看到关联Outlets项中有个圆圈,鼠标放上去看到一个“+”号,然后按住左键拖动到View中,如下图:
在弹出的选择框中会发现刚刚定义变量label,选择“label”即可,此时就完成了关联。关联之后可看到label控件的关联关系改变,如下图:
注意如果该视图下没有关联关系,表示关联关系没有建立,如果此时去使用label变量,就会报如下错误:
fatal error@H_403_13@: unexpectedly found nil@H_403_13@ while@H_403_13@ unwrapping an Optional value
2017@H_403_13@-10@H_403_13@-27@H_403_13@ 17@H_403_13@:48@H_403_13@:03.189566@H_403_13@+0800@H_403_13@ HelloWordApp[4155@H_403_13@:455152@H_403_13@] fatal error@H_403_13@: unexpectedly found nil@H_403_13@ while@H_403_13@ unwrapping an Optional value
代码控制控件
完成关联之后,就可以对控件进行动态修改属性了。定义如下方法:
func changeLabel(){
print@H_403_13@("label text before change:"@H_403_13@ + label.text@H_403_13@!)
label.text@H_403_13@ = "change"@H_403_13@
print@H_403_13@("label text after change:"@H_403_13@ + label.text@H_403_13@!)
}
import@H_403_13@ UIKit
class@H_403_13@ ViewController: UIViewController {
@IBOutlet@H_403_13@ weak var label: UILabel!
override@H_403_13@ func viewDidLoad() {
super@H_403_13@.viewDidLoad()
// Do any additional setup after loading the view,typically from a nib.@H_403_13@
changeLabel()
}
override@H_403_13@ func didReceiveMemoryWarning() {
super@H_403_13@.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.@H_403_13@
}
func changeLabel(){
print("label text before change:"@H_403_13@ + label.text!)
label.text = "change"@H_403_13@
print("label text after change:"@H_403_13@ + label.text!)
}
}
然后点击运行之后,运行效果如下图:
至此控件和代码关联完成。