Question: I need to know evertime a certain tab on my tabbar is selected to be able to set a certain `BOOL`. `viewDidLoad` does net get called every time/when I click on the tab - is there an alternative to that?

I need to know this in that tab's-view's viewcontroller.

Answer: 
You probably want one of these:

* The [UITabBarDelegate](http://developer.apple.com/library/ios/#documentation/uikit/reference/UITabBarDelegate_Protocol/Reference/Reference.html#//apple_ref/occ/intf/UITabBarDelegate) method `- (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item`
* The [UITabBarControllerDelegate](http://developer.apple.com/library/ios/#documentation/uikit/reference/UITabBarControllerDelegate_Protocol/Reference/Reference.html#//apple_ref/occ/intf/UITabBarControllerDelegate) method `- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController`
The UITabBar does not load all the view controllers at once - it loads the first one. When you click on a tab bar button you load another controller.

To receive the changes in the tab bar you can add a delegate and implement:

```
-(void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item {...}

```