Получить текущий номер значка панели вкладок

#ios #uitabbarcontroller #badge

#iOS #uitabbarcontroller #значок

Вопрос:

У меня есть вкладка в моем приложении, на которой будет указан номер значка, основанный на 3 различных действиях, которые происходят в 3 разных времени. Я знаю, как установить значок панели вкладок с помощью:

 [[[[[self tabBarController] tabBar] items]
          objectAtIndex:3] setBadgeValue:[NSString stringWithFormat:@"%d", (int)thetabbadge]];
 

Что я хотел бы сделать, так это взять текущий номер значка (0 для ничего или любое другое число, которое там уже может быть) и увеличить его на другой NSInteger. Есть ли способ прочитать текущее свойство номера значка?

Ответ №1:

Вы могли бы использовать свойство badgeValue

Ваш код выглядит так, как будто он был сделан пять лет назад, пунктирная нотация намного легче читается. Также вы должны стараться не делать слишком много в одной строке.

 UITabBarItem *itemToBadge = self.tabBarController.tabBar.items[3];
int currentTabValue = [itemToBadge.badgeValue intValue];
int newTabValue = currentTabValue   1; // Or whatever you want to calculate
itemToBadge.badgeValue = [NSString stringWithFormat:@"%d", newTabValue];