屬性與方法的連線
通過一個小Demo來練習屬性和方法的連線
1.創建一個項目,命名為“2.屬性和方法的連線”
界面
在Main.storyboard中拖拽如上圖中的控件到界面中,上面三個是按鈕,文字改變的方法與label相同,下面的文字是UILabel
2.進行連線
示意圖
拖拽好控件后,點擊右上方的小圈圈按鈕,打開輔助編輯器,文件對應的就是ViewController.swift。若要改變對應的文件類,就需要改變下方class處顯示的控制器對應的類別,前提:你要創建好一個類型相符合的控制器文件。
3.IBAction和IBOutlet(連線)
-
第一種方法
連線1.gif
上圖中是連線的方式之一,也是最常用的一種方式。
在連接按鈕時可以選擇Action和Outlet,分別對應想要連接的是方法還是屬性,然后填寫名稱選擇Connect就可以了。
在Arguments的選擇中,可以選擇sender或者其他的選項,表示是否需要傳遞參數,如果選擇sender,則會將按鈕對象傳遞到方法中
-
第二種方法
連線2.gif
上圖是第二種連線的方法
按照格式寫好方法后,按住左側的小圓點,拖拽到相應的按鈕上
- 第三種方法
連線3.gif
上圖是連線的第三種方法,寫好方法后,從按鈕去拖拽連線,右擊鼠標就會彈出菜單欄
這三種方法完全適用于屬性
用此方法連接屬性時,需選擇的是Referencing Outlets下方的圓點
- 試一試把label的屬性連接好吧!名稱為“textLabel”
3.方法的填寫
控制文字顏色改變為按鈕中所寫的顏色
// label的屬性
@IBOutlet weak var textLabel: UILabel!
// 紅色按鈕的點擊事件
@IBAction func redButtonClick() {
print(#function)
textLabel.textColor = UIColor.red
}
// 黃色按鈕的點擊事件
@IBAction func yellowButtonClick(_ sender: UIButton) {
print(#function)
textLabel.textColor = UIColor.yellow;
}
// 藍色按鈕的點擊事件
@IBAction func blueButtonClick(_ sender: UIButton) {
print(#function)
textLabel.textColor = UIColor.blue;
}
4.運行起來試試效果
連線運行效果.gif