swift Selector 直接写"方法名会自动补全"

2019-05-22  本文已影响0人  83633d6fb38f

importUIKit

classMainViewController:UITabBarController{

//MARK:属性 懒加载

lazy var composeBtn =UIButton(composeForeImageName:"tabbar_compose_icon_add", composeBackImageName:"tabbar_compose_button")

//MARK:重写方法

    override func viewDidLoad() {

super.viewDidLoad()

        tabBar.addSubview(composeBtn)

    }

    override func viewWillLayoutSubviews() {

composeBtn.center =CGPoint(x: tabBar.center.x, y:tabBar.bounds.height *0.5)

//方法1:Selector("方法名")  Swift已经不推荐使用,会被提示改成第二种代替

//        composeBtn.addTarget(self, action:Selector(("composeBtnClick")), for: .touchUpInside)

//方法2:Selector("类名.方法名") 推荐写法

composeBtn.addTarget(self, action:#selector(MainViewController.composeBtnClick), for: .touchUpInside)

//方法3:"方法名"

//          composeBtn.addTarget(self, action:"composeBtnClick", for: .touchUpInside)

    }

}

//MARK:事件监听

extension MainViewController{

//这里必须要加@objc 否则会崩溃

    @objc func composeBtnClick(){

print("composeBtnClick")

    }

}

上一篇 下一篇

猜你喜欢

热点阅读