@@ -14,22 +14,31 @@ class SpeakerTableViewCell: UITableViewCell {
1414
1515 @IBOutlet weak var speakerImageView : UIImageView !
1616 @IBOutlet weak var speakerNameLabel : UILabel !
17- @IBOutlet weak var speakerTwitterLabel : UILabel !
18-
17+ @IBOutlet weak var speakerTwitterButton : UIButton !
18+
19+ fileprivate var speaker : Speaker ?
20+ fileprivate weak var delegate : TwitterFollowDelegate ?
21+
1922 override func awakeFromNib( ) {
2023 super. awakeFromNib ( )
21-
22- speakerTwitterLabel. textColor = . trySwiftAccentColor( )
24+ speakerTwitterButton. setTitleColor ( . trySwiftAccentColor( ) , for: . normal)
2325 }
2426
25- func configure( withSpeaker speaker: Speaker , selectionEnabled: Bool = true , accessoryEnabled: Bool = true ) {
2627
28+ @IBAction func speakerTwitterButtonDidTap( _ sender: Any ) {
29+ guard let speaker = speaker else {
30+ assertionFailure ( " Speaker is not set " )
31+ return
32+ }
33+ self . delegate? . followUser ( speaker. twitter)
34+ }
35+
36+ func configure( withSpeaker speaker: Speaker , selectionEnabled: Bool = true , accessoryEnabled: Bool = true , delegate: TwitterFollowDelegate ) {
2737 let scale = UIScreen . main. scale
2838 let processor = RoundCornerImageProcessor ( cornerRadius: 34 , targetSize: CGSize ( width: 67 , height: 67 ) )
2939 speakerImageView. kf. setImage ( with: speaker. imageURL, placeholder: nil , options: [ . processor( processor) , . scaleFactor( scale) ] )
3040 speakerNameLabel. text = speaker. localizedName
31- speakerTwitterLabel. text = " @ \( speaker. twitter) "
32-
41+ speakerTwitterButton. setTitle ( " @ \( speaker. twitter) " , for: . normal)
3342 if !selectionEnabled {
3443 selectionStyle = . none
3544 }
@@ -40,5 +49,8 @@ class SpeakerTableViewCell: UITableViewCell {
4049
4150 setNeedsUpdateConstraints ( )
4251 layoutIfNeeded ( )
52+
53+ self . speaker = speaker
54+ self . delegate = delegate
4355 }
4456}
0 commit comments