The way I see it is you are creating a new intance of CarList in this - (void)applicationDidBecomeActive:(UIApplication *)application method.
So In selectBadge function the self.navigationController.tabBarItem.badgeValue = someValue;
will be setting badge value for some other instance.
Try addressing the correct instance. If you can access the UITabBarController instance then you can do this:
UITabBar *tabBar = mTabBarController.tabBar;
UITabBarItem *someItem = [tabBar.items objectAtIndex:0];////You can put your interested tabBarItem index
someItem. badgeValue = @"100";