         return targetTableView
     }
     
+    /// `UITableView` want to drag.
     public init(tableView: UITableView) {
         super.init()
         

    weak var targetTableView: UITableView?
    private var draggingVerticalMotion: UIScrollView.DragMotion?
    
    public var originCellHidden: Bool = true
    public var cellZoomScale: CGFloat = 1
    public var cellAlpha: CGFloat = 1
    public var cellShadowOpacity: Float = 0.4
    public var scrollVelocity: CGFloat = 1
    public weak var delegate: TableViewDraggerDelegate?
    public weak var dataSource: TableViewDraggerDataSource?

}

@objc public protocol TableViewDraggerDataSource: class {
    /// Return any cell if want to change the cell in drag.
    optional func dragger(dragger: TableViewDragger, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell?
    /// Return the indexPath if want to change the indexPath to start drag.
    optional func dragger(dragger: TableViewDragger, indexPathForDragAtIndexPath indexPath: NSIndexPath) -> NSIndexPath
}

