 //        return label
 //    }()
 
+    var keyword: String? {
+        didSet {
+            keywordButton.setTitle(keyword, forState: .Normal)
+        }
+    }
+
     lazy var keywordButton: UIButton = {
         let button = UIButton()
         button.titleLabel?.font = UIFont.systemFontOfSize(18)
         button.setTitleColor(UIColor.yepTintColor(), forState: .Normal)
+
+        button.addTarget(self, action: #selector(KeywordCell.tapKeyword), forControlEvents: .TouchUpInside)
+
         return button
     }()
 

        let cell = tableView.dequeueReusableCellWithIdentifier(KeywordCell.reuseIdentifier) as! KeywordCell
        let keyword = keywords[indexPath.row]
        //cell.keywordLabel.text = keyword
        cell.keywordButton.setTitle(keyword, forState: .Normal)
        return cell
    }

    func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {

        defer {
            tableView.deselectRowAtIndexPath(indexPath, animated: true)
        }

        let keyword = keywords[indexPath.row]
        tapKeywordAction?(keyword: keyword)
    }
}


import UIKit

final private class KeywordCell: UITableViewCell {

    var tapKeywordAction: ((keyword: String) -> Void)?

    static let reuseIdentifier = "KeywordCell"

