         let height = keywordButton.heightAnchor.constraintEqualToAnchor(contentView.heightAnchor)
 
         NSLayoutConstraint.activateConstraints([leading, centerX, centerY, width, height])
+    }
+
+    @objc private func tapKeyword() {
+        if let keyword = keyword {
+            tapKeywordAction?(keyword: keyword)
+        }
     }
 }
 

        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"

