swift4.0 方法监听Selector写法总结

import UIKit
 
class MainViewController: 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")
    }
}

  

posted @ 2018-08-02 10:09  心泪无恒  阅读(433)  评论(0编辑  收藏  举报