Swift语法糖的使用

Swift语法糖的使用

这个是哪里看的忘记了,反正内容不是我写的

  • 语法糖的简介
  • 语法糖Selector例子

语法糖的简介

语法糖(Syntactic sugar),也译为糖衣语法,是由英国计算机科学家彼得·约翰·兰达(Peter J. Landin)发明的一个术语,指计算机语言中添加的某种语法,这种语法对语言的功能并没有影响,但是更方便程序员使用。通常来说使用语法糖能够增加程序的可读性,从而减少程序代码出错的机会。

我个人对语法糖的理解就是让你的代码更加有逼格,别人阅读代码的时候会觉得你的代码很工整,也方便维护

Swift 实例

创建控制器,添加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")
    }

想实现控制器里的Button点击事件,但是,如果一个控制器里的Button特别的多,那添加Button点击事件的Selector 会觉得特别的臃肿。所以语法糖就是要拓展Selector

private extension Selector {
    
    static let printFire = #selector(ViewController.printFire)
    
}

我们现在给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)
    
}


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Swift语法糖的使用 语法糖的简介 语法糖Selector例子 语法糖的简介 我个人对语法糖的理解就是让你的代码...
    鸟人扎墨客阅读 2,866评论 0 0
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,287评论 4 61
  • 当鸟儿飞过 我仿佛听见天空撕裂的声响 当漫天的乌云来过 我仿佛看到野心勃勃的侵略者 和冰冷冷的枪 暗无天日的日子 ...
    m木樨阅读 174评论 0 1
  • 话说,我已经来到大学将近一年了。原以为自己能在这大学的生活中过自己所憧憬的小日子,然而我发现我错了。哈哈,是...
    蜡笔笔先生阅读 305评论 2 0
  • 文/凉树姑娘 “气死老娘了。” 朋友阿夏发来一条微信消息,接下来就是一大推表示很生气的表情包对我进行轰炸。 隔着屏...
    凉树姑娘阅读 630评论 2 6