 
         return ControlEvent(events: source)
     }
- 
+
+    /**
+     Reactive wrapper for `delegate` message `tableView:didDeselectRowAtIndexPath:`.
+     */
+    public var rx_itemDeselected: ControlEvent<NSIndexPath> {
+        let source = rx_delegate.observe("tableView:didDeselectRowAtIndexPath:")
+            .map { a in
+                return a[1] as! NSIndexPath
+            }
+
+        return ControlEvent(events: source)
+    }
+
     /**
     Reactive wrapper for `delegate` message `tableView:commitEditingStyle:forRowAtIndexPath:`.
     */

        return ControlEvent(events: source)
    }


    /**
     Synchronous helper method for retrieving a model at indexPath through a reactive data source

            
            return ControlEvent(source: source)
        }
    */
    public func rx_modelSelected<T>(modelType: T.Type) -> ControlEvent<T> {
        let source: Observable<T> = rx_itemSelected.flatMap { [weak self] indexPath -> Observable<T> in
