我的工程中結構為
window -> UITabBarViewController -> UINavigationViewController -> UIViewController
開始設置badgeValue時無效, 因為沒有在主線程, 同時結合下面三種情況, 搞得我暈頭轉向.
// 1. 有效
[tabVC.tabBar.items[1] setBadgeValue:@"20"];
// 2. 無效
self.tabBarItem.badgeValue = @"20";
// 3. 有效
self.navigationController.tabBarItem.badgeValue = @"20";
決定這三種設置方式的結果的是工程的結構, 如果我的工程中沒有UINavigationViewController, 那么(2)就會設置成功, (3)就會失效
而第一種設置方式永遠不會有問題, 真傻, 真的...