Swift でタブのバッジとアプリのバッジを同時に更新する

与える型が異なるので注意。UITabBarItem には nil を入れるとバッジが消えます。

   func updateBadge(badge: Int, forVC: UIViewController?) {
        UIApplication.sharedApplication().applicationIconBadgeNumber = badge
        if let forVC = forVC, let items = forVC.tabBarController?.tabBar.items as? [UITabBarItem] where items.count > 0 {
            items[0].badgeValue = badge > 0 ? String(badge) : nil
        }
    }