         super.touchesMoved(touches, withEvent: event)
     }
     
-    public override func touchesEnded(touches: Set<NSObject>, withEvent event: UIEvent) {
-        
+    public override func touchesEnded(touches: Set<UITouch>, withEvent event: UIEvent?) {
         addLinkAttributesToLinkRangeResultWithTouches(touches, highlighted: false)
         
         // Call delegate

                attributes = attributesWithTextColor(color)
            }
            
            if attributes != nil {
                let location = distance(text.startIndex, linkRangeResult.linkRange.startIndex)
                let length = distance(linkRangeResult.linkRange.startIndex, linkRangeResult.linkRange.endIndex)
                let range = NSMakeRange(location, length)
                
                mutableAttributedString.setAttributes(attributes!, range: range)
            }
        }
        

        }
        
        selectedLinkRangeResult = nil
        
        super.touchesEnded(touches, withEvent: event)
    }

    public override func touchesCancelled(touches: Set<UITouch>?, withEvent event: UIEvent?) {
        addLinkAttributesToLinkRangeResultWithTouches(touches, highlighted: false)
        super.touchesCancelled(touches, withEvent: event)
    }
    
    // MARK: Functions
    
    func addAttributes(attributes: Dictionary<String, AnyObject>, range: NSRange) {
        if let contextLabelData = contextLabelData {
            let mutableAttributedString = NSMutableAttributedString(attributedString: contextLabelData.attributedString)
            mutableAttributedString.addAttributes(attributes, range: range)
            
            contextLabelData.attributedString = mutableAttributedString
