zyterence
10/17/2016 - 5:26 AM

BlockBarButtonItem.swift

class BlockBarButtonItem : UIBarButtonItem {

    private var actionHandler: ((Void) -> Void)?

    convenience init(title: String?, style: UIBarButtonItemStyle, actionHandler: ((Void) -> Void)?) {
        self.init(title: title, style: style, target: nil, action: nil)
        self.target = self
        self.action = "barButtonItemPressed:"
        self.actionHandler = actionHandler
    }

    func barButtonItemPressed(sender: UIBarButtonItem) {
        if let actionHandler = self.actionHandler {
            actionHandler()
        }
    }

}