Swift語法糖的使用
- 語法糖的簡介
- 語法糖Selector例子
語法糖的簡介
語法糖(Syntactic sugar)今穿,也譯為糖衣語法袁余,是由英國計算機科學(xué)家彼得·約翰·蘭達(Peter J. Landin)發(fā)明的一個術(shù)語,指計算機語言中添加的某種語法寸莫,這種語法對語言的功能并沒有影響贴汪,但是更方便程序員使用拟枚。通常來說使用語法糖能夠增加程序的可讀性,從而減少程序代碼出錯的機會吼渡。
我個人對語法糖的理解就是讓你的代碼更加有逼格容为,別人閱讀代碼的時候會覺得你的代碼很工整,也方便維護
Swift 實例
創(chuàng)建控制器寺酪,添加Button
override func viewDidLoad() {
super.viewDidLoad()
let btn = UIButton(frame: CGRectMake(100,100,100,100))
btn.backgroundColor = UIColor.redColor()
view.addSubview(btn)
}
func printFire() {
print("fire")
}
想實現(xiàn)控制器里的Button點擊事件坎背,但是,如果一個控制器里的Button特別的多寄雀,那添加Button點擊事件的Selector 會覺得特別的臃腫得滤。所以語法糖就是要拓展Selector
private extension Selector {
static let printFire = #selector(ViewController.printFire)
}
我們現(xiàn)在給viewDidLoad方法中的Button 添加點擊事件
btn.addTarget(self, action: .printFire, forControlEvents: .TouchUpInside)
如果Button過多的話,用語法糖方便管理Button的點擊事件盒犹,又不會把點擊事件變得過于臃腫
下面是控制器的完整代碼
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
let btn = UIButton(frame: CGRectMake(100,100,100,100))
btn.backgroundColor = UIColor.redColor()
btn.addTarget(self, action: .printFire, forControlEvents: .TouchUpInside)
view.addSubview(btn)
}
func printFire() {
print("fire")
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
private extension Selector {
static let printFire = #selector(ViewController.printFire)
}