 @objc public protocol TFBubbleItUpViewDelegate {
     func bubbleItUpViewDidFinishEditingBubble(view: TFBubbleItUpView, text: String)
     
-    optional func bubbleItUpViewDidChange(view: TFBubbleItUpView)
+    optional func bubbleItUpViewDidChange(view: TFBubbleItUpView, text: String)
 }
 
 @IBDesignable public class TFBubbleItUpView: UICollectionView, UICollectionViewDelegate, UICollectionViewDelegateFlowLayout, UICollectionViewDataSource, UIGestureRecognizerDelegate, TFBubbleItUpViewCellDelegate {

                cell.resignFirstResponder()
                self.needUpdateLayout(cell)
            }
            self.bubbleItUpDelegate?.bubbleItUpViewDidChange?(self)
            
        } else {
            self.items.append(TFBubbleItem(text: text))

            self.items[indexPath.item].text = text
        }
        
        self.bubbleItUpDelegate?.bubbleItUpViewDidChange?(self, text:text)
    }

    internal func needUpdateLayout(cell: TFBubbleItUpViewCell) {
