 	
 	
 	func tableView(tableView: UITableView, willDisplayCell cell: UITableViewCell, forRowAtIndexPath indexPath: NSIndexPath) {
-
-		latestCalledDelegateFunction = [#function: (tableView, cell, indexPath)]
+		
+		let selector = #selector(UITableViewDelegate.tableView(_:willDisplayCell:forRowAtIndexPath:))
+
+		latestCalledDelegateFunction = [ selector: (tableView, cell, indexPath) ]
 	}
 	
 	func tableView(tableView: UITableView, willDisplayHeaderView view: UIView, forSection section: Int) {
 		
-		latestCalledDelegateFunction = [#function: (tableView, view, section)]
+		let selector = #selector(UITableViewDelegate.tableView(_:willDisplayHeaderView:forSection:))
+		
+		latestCalledDelegateFunction = [ selector: (tableView, view, section) ]
 	}
 	
 	func tableView(tableView: UITableView, willDisplayFooterView view: UIView, forSection section: Int) {
 		
-		latestCalledDelegateFunction = [#function: (tableView, view, section)]
+		let selector = #selector(UITableViewDelegate.tableView(_:willDisplayFooterView:forSection:))
+		
+		latestCalledDelegateFunction = [ selector: (tableView, view, section) ]
 	}
 	
 	func tableView(tableView: UITableView, didEndDisplayingCell cell: UITableViewCell, forRowAtIndexPath indexPath: NSIndexPath) {
 		
-		latestCalledDelegateFunction = [#function: (tableView, cell, indexPath)]
+		let selector = #selector(UITableViewDelegate.tableView(_:didEndDisplayingCell:forRowAtIndexPath:))
+		
+		latestCalledDelegateFunction = [ selector: (tableView, cell, indexPath) ]
 	}
 	
 	func tableView(tableView: UITableView, didEndDisplayingHeaderView view: UIView, forSection section: Int) {
 		
-		latestCalledDelegateFunction = [#function: (tableView, view, section)]
+		let selector = #selector(UITableViewDelegate.tableView(_:didEndDisplayingHeaderView:forSection:))
+		
+		latestCalledDelegateFunction = [ selector: (tableView, view, section) ]
 	}
 	
 	func tableView(tableView: UITableView, didEndDisplayingFooterView view: UIView, forSection section: Int) {
 		
-		latestCalledDelegateFunction = [#function: (tableView, view, section)]
+		let selector = #selector(UITableViewDelegate.tableView(_:didEndDisplayingFooterView:forSection:))
+		
+		latestCalledDelegateFunction = [ selector: (tableView, view, section) ]
 	}
 	
 	func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
 		
-		latestCalledDelegateFunction = [#function: (tableView, indexPath)]
+		let selector = #selector(UITableViewDelegate.tableView(_:heightForRowAtIndexPath:))
+		
+		latestCalledDelegateFunction = [ selector: (tableView, indexPath) ]
+		
 		return CGFloat.min
 	}
 	
 	func tableView(tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
 		
-		latestCalledDelegateFunction = [#function: (tableView, section)]
+		let selector = #selector(UITableViewDelegate.tableView(_:heightForHeaderInSection:))
+		
+		latestCalledDelegateFunction = [ selector: (tableView, section) ]
+		
 		return CGFloat.min
 	}
 	
 	func tableView(tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat {
 		
-		latestCalledDelegateFunction = [#function: (tableView, section)]
+		let selector = #selector(UITableViewDelegate.tableView(_:heightForFooterInSection:))
+		
+		latestCalledDelegateFunction = [ selector: (tableView, section) ]
+		
 		return CGFloat.min
 	}
 	
 	func tableView(tableView: UITableView, estimatedHeightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
 		
-		latestCalledDelegateFunction = [#function: (tableView, indexPath)]
+		let selector = #selector(UITableViewDelegate.tableView(_:estimatedHeightForRowAtIndexPath:))
+		
+		latestCalledDelegateFunction = [ selector: (tableView, indexPath) ]
+		
 		return CGFloat.min
 	}
 	
 	
 	func tableView(tableView: UITableView, estimatedHeightForHeaderInSection section: Int) -> CGFloat {
 		
-		latestCalledDelegateFunction = [#function: (tableView, section)]
+		let selector = #selector(UITableViewDelegate.tableView(_:estimatedHeightForHeaderInSection:))
+		
+		latestCalledDelegateFunction = [ selector: (tableView, section) ]
 		
 		return CGFloat.min
 	}
 	
 	func tableView(tableView: UITableView, estimatedHeightForFooterInSection section: Int) -> CGFloat {
 		
-		latestCalledDelegateFunction = [#function: (tableView, section)]
+		let selector = #selector(UITableViewDelegate.tableView(_:estimatedHeightForFooterInSection:))
+		
+		latestCalledDelegateFunction = [ selector: (tableView, section) ]
 		
 		return CGFloat.min
 	}

	
	- note: Since this only store the latest call, it will only have one key and value.
	*/
	var latestCalledDelegateFunction = [String: Any]()
	
	required init(index: Int, childDelegates: [CascadingTableDelegate]) {
		self.index = index

	
	func tableView(tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
		
		let selector = #selector(UITableViewDelegate.tableView(_:viewForHeaderInSection:))
		
		latestCalledDelegateFunction = [ selector: (tableView, section) ]
		
		return nil
	}
	
	func tableView(tableView: UITableView, viewForFooterInSection section: Int) -> UIView? {
		
		let selector = #selector(UITableViewDelegate.tableView(_:viewForFooterInSection:))
		
		latestCalledDelegateFunction = [ selector: (tableView, section) ]
		
		return nil
	}

	
	func tableView(tableView: UITableView, accessoryButtonTappedForRowWithIndexPath indexPath: NSIndexPath) {
		
		let selector = #selector(UITableViewDelegate.tableView(_:accessoryButtonTappedForRowWithIndexPath:))
		
		latestCalledDelegateFunction = [ selector: (tableView, indexPath)  ]
	}
	
	
	func tableView(tableView: UITableView, shouldHighlightRowAtIndexPath indexPath: NSIndexPath) -> Bool {
		
		let selector = #selector(UITableViewDelegate.tableView(_:shouldHighlightRowAtIndexPath:))
		
		latestCalledDelegateFunction = [ selector: (tableView, indexPath) ]
		
		return false
	}
	
	func tableView(tableView: UITableView, didHighlightRowAtIndexPath indexPath: NSIndexPath) {
		
		let selector = #selector(UITableViewDelegate.tableView(_:didHighlightRowAtIndexPath:))
		
		latestCalledDelegateFunction = [ selector: (tableView, indexPath) ]
		
	}
	
	func tableView(tableView: UITableView, didUnhighlightRowAtIndexPath indexPath: NSIndexPath) {
		
		let selector = #selector(UITableViewDelegate.tableView(_:didUnhighlightRowAtIndexPath:))
		
		latestCalledDelegateFunction = [ selector: (tableView, indexPath) ]
	}
	
	func tableView(tableView: UITableView, willSelectRowAtIndexPath indexPath: NSIndexPath) -> NSIndexPath? {
		
		let selector = #selector(UITableViewDelegate.tableView(_:willSelectRowAtIndexPath:))
		
		latestCalledDelegateFunction = [ selector: (tableView, indexPath) ]
		
		return nil
	}
	
	func tableView(tableView: UITableView, willDeselectRowAtIndexPath indexPath: NSIndexPath) -> NSIndexPath? {
		
		let selector = #selector(UITableViewDelegate.tableView(_:willDeselectRowAtIndexPath:))
		
		latestCalledDelegateFunction = [ selector: (tableView, indexPath) ]
		
		return nil
	}
	
	func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
		
		let selector = #selector(UITableViewDelegate.tableView(_:didDeselectRowAtIndexPath:))
		
		latestCalledDelegateFunction = [ selector: (tableView, indexPath) ]
	}
	
	func tableView(tableView: UITableView, didDeselectRowAtIndexPath indexPath: NSIndexPath) {
		
		let selector = #selector(UITableViewDelegate.tableView(_:didDeselectRowAtIndexPath:))
		
		latestCalledDelegateFunction = [ selector: (tableView, indexPath) ]
	}
	
	func tableView(tableView: UITableView, editingStyleForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCellEditingStyle {
		
		let selector = #selector(UITableViewDelegate.tableView(_:editingStyleForRowAtIndexPath:))
		
		latestCalledDelegateFunction = [ selector: (tableView, indexPath) ]
		
		return UITableViewCellEditingStyle.None
	}
	
	func tableView(tableView: UITableView, titleForDeleteConfirmationButtonForRowAtIndexPath indexPath: NSIndexPath) -> String? {
		
		let selector = #selector(UITableViewDelegate.tableView(_:titleForDeleteConfirmationButtonForRowAtIndexPath:))
		
		latestCalledDelegateFunction = [ selector: (tableView, indexPath) ]

		return nil
	}
	
	func tableView(tableView: UITableView, editActionsForRowAtIndexPath indexPath: NSIndexPath) -> [UITableViewRowAction]? {
		
		let selector = #selector(UITableViewDelegate.tableView(_:editActionsForRowAtIndexPath:))
		
		latestCalledDelegateFunction = [ selector: (tableView, indexPath) ]
		
		return nil
	}
	
	func tableView(tableView: UITableView, shouldIndentWhileEditingRowAtIndexPath indexPath: NSIndexPath) -> Bool {
		
		let selector = #selector(UITableViewDelegate.tableView(_:shouldIndentWhileEditingRowAtIndexPath:))
		
		latestCalledDelegateFunction = [ selector: (tableView, indexPath) ]
		
		return false
	}
	
	func tableView(tableView: UITableView, willBeginEditingRowAtIndexPath indexPath: NSIndexPath) {
		
		let selector = #selector(UITableViewDelegate.tableView(_:willBeginEditingRowAtIndexPath:))
		
		latestCalledDelegateFunction = [ selector: (tableView, indexPath) ]
	}
	
	func tableView(tableView: UITableView, didEndEditingRowAtIndexPath indexPath: NSIndexPath) {
		
		let selector = #selector(UITableViewDelegate.tableView(_:didEndEditingRowAtIndexPath:))
		
		latestCalledDelegateFunction = [ selector: (tableView, indexPath) ]
		
	}
	
	func tableView(tableView: UITableView, targetIndexPathForMoveFromRowAtIndexPath sourceIndexPath: NSIndexPath, toProposedIndexPath proposedDestinationIndexPath: NSIndexPath) -> NSIndexPath {
		
		let selector = #selector(UITableViewDelegate.tableView(_:targetIndexPathForMoveFromRowAtIndexPath:toProposedIndexPath:))
		
		latestCalledDelegateFunction = [ selector: (tableView, sourceIndexPath, proposedDestinationIndexPath) ]
		
		return NSIndexPath(forRow: 0, inSection: 0)
	}
	
	func tableView(tableView: UITableView, indentationLevelForRowAtIndexPath indexPath: NSIndexPath) -> Int {
		
		let selector = #selector(UITableViewDelegate.tableView(_:indentationLevelForRowAtIndexPath:))
		
		latestCalledDelegateFunction = [ selector: (tableView, indexPath) ]
		
		return 0
	}
	
	func tableView(tableView: UITableView, shouldShowMenuForRowAtIndexPath indexPath: NSIndexPath) -> Bool {
		
		let selector = #selector(UITableViewDelegate.tableView(_:shouldShowMenuForRowAtIndexPath:))
		
		latestCalledDelegateFunction = [ selector: (tableView, indexPath) ]
		
		return false
	}
	
	func tableView(tableView: UITableView, canPerformAction action: Selector, forRowAtIndexPath indexPath: NSIndexPath, withSender sender: AnyObject?) -> Bool {
		
		let selector = #selector(UITableViewDelegate.tableView(_:canPerformAction:forRowAtIndexPath:withSender:))
		
		latestCalledDelegateFunction = [ selector: (tableView, action, indexPath, sender)]
		
		return false
	}
	
	func tableView(tableView: UITableView, performAction action: Selector, forRowAtIndexPath indexPath: NSIndexPath, withSender sender: AnyObject?) {
		
		let selector = #selector(UITableViewDelegate.tableView(_:canPerformAction:forRowAtIndexPath:withSender:))
		
		latestCalledDelegateFunction = [ selector: (tableView, action, indexPath, sender) ]
	}
	
	@available(iOS 9.0, *)
	func tableView(tableView: UITableView, canFocusRowAtIndexPath indexPath: NSIndexPath) -> Bool {
		
		let selector = #selector(UITableViewDelegate.tableView(_:canFocusRowAtIndexPath:))
		
		latestCalledDelegateFunction = [ selector: (tableView, indexPath) ]
		
		return false
	}
	
	@available(iOS 9.0, *)
	func tableView(tableView: UITableView, shouldUpdateFocusInContext context: UITableViewFocusUpdateContext) -> Bool {
		
		let selector = #selector(UITableViewDelegate.tableView(_:shouldUpdateFocusInContext:))
		
		latestCalledDelegateFunction = [ selector: (tableView, context) ]
		
		return false
	}
	
	@available(iOS 9.0, *)
	func tableView(tableView: UITableView, didUpdateFocusInContext context: UITableViewFocusUpdateContext, withAnimationCoordinator coordinator: UIFocusAnimationCoordinator) {
		
		let selector = #selector(UITableViewDelegate.tableView(_:didUpdateFocusInContext:withAnimationCoordinator:))
		
		latestCalledDelegateFunction = [ selector: (tableView, context, coordinator) ]
	}
	
	@available(iOS 9.0, *)
	func indexPathForPreferredFocusedViewInTableView(tableView: UITableView) -> NSIndexPath? {
		
		let selector = #selector(UITableViewDelegate.indexPathForPreferredFocusedViewInTableView(_:))
		
		latestCalledDelegateFunction = [ selector: tableView ]
		
		return nil
	}
	
