IOS reduce icon icon

I use

[[UIApplication sharedApplication] setApplicationIconBadgeNumber:[UIApplication sharedApplication].applicationIconBadgeNumber -1];

to reduce the number of icon badges, but it actually clears. when I press the home button, the number of icons is missing.

BUT if I try a fixed value like this

[[UIApplication sharedApplication] setApplicationIconBadgeNumber:4];

icon counting exists as expected.

So the question is: why

[[UIApplication sharedApplication] setApplicationIconBadgeNumber:[UIApplication sharedApplication].applicationIconBadgeNumber -1];

does not work?

+5
source share
5 answers

Why aren't you just:

NSInteger numberOfBadges = [UIApplication sharedApplication].applicationIconBadgeNumber
numberOfBadges -=1;

[[UIApplication sharedApplication] setApplicationIconBadgeNumber:numberOfBadges];
+4
source

[[UIApplication sharedApplication] setApplicationIconBadgeNumber:[UIApplication sharedApplication].applicationIconBadgeNumber -1]; - your mistake

[UIApplication sharedApplication].applicationIconBadgeNumber -1

there is no valid operation for this.

Use the temporary var variable to change the number of icons, unless you confuse otherwise.

Edit: Use it like this.

int value = [UIApplication sharedApplication].applicationIconBadgeNumber;
value--;
[[UIApplication sharedApplication] setApplicationIconBadgeNumber:value];
0
source

    let currentCountStr = UIApplication.sharedApplication().applicationIconBadgeNumber.description
    let currentCount = Int(currentCountStr)
    if(currentCount > 0) {
        UIApplication.sharedApplication().applicationIconBadgeNumber = currentCount! - 1
    } else {
        UIApplication.sharedApplication().applicationIconBadgeNumber = 0
    }
0

:

[[UIApplication sharedApplication] setApplicationIconBadgeNumber:[UIApplication sharedApplication].applicationIconBadgeNumber -1];

, , -1. , 0 , .

, , 0, :

[UIApplication sharedApplication].applicationIconBadgeNumber--;

applicationIconBadgeNumber can be used as a normal variable, for example:

[UIApplication sharedApplication].applicationIconBadgeNumber = 100;
[UIApplication sharedApplication].applicationIconBadgeNumber++;
[UIApplication sharedApplication].applicationIconBadgeNumber += 2;

Just make sure it stays positive if you want it to be visible.

-1
source

[[UIApplication sharedApplication] setApplicationIconBadgeNumber: [dict [@ "badge"] integerValue]] + = [UIApplication sharedApplication] .applicationIconBadgeNumber;

-2
source

All Articles