Actually, I think it's simpler to just set your AppDelegate as a delegate of the tab bar controller. To do this:
1. Implement the UITabBarControllerDelegate on your AppDelegate class:
@interface AppDelegate : UIResponder <UIApplicationDelegate, UITabBarControllerDelegate>
2. Register the AppDelegate as a delegate for the tab controller:
- (void)applicationDidFinishLaunching:(UIApplication *)application
{
tabBarController.delegate = self;
[window addSubview:tabBarController.view];
}
3. You can then implement the tabBarController:didSelectViewController: method on the AppDelegate and deselect the currently selected row in the tableview.
- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController;
All the best!
Kevin