Вы уверены, что это viewDidLoad, а не viewWillAppear?
viewDidLoad будет вызываться только один раз в каждом подклассе UIViewController, поэтому, если ваш макет выглядит следующим образом:
-UITabBarController:
- HappyUIViewController
- SadUIViewController
- ThirdUIViewController
Тогда viewDidLoad будетзвонил три раза.Один раз для HappyUIViewController, один раз для SadUiViewController и т. Д.