Tell the program what to do when data on saving NSUserDefaults, iPhone is not saved

I saved data that was saved using NSUserDefaults. I had the impression that if nothing was already stored in the key (when you first started the application), it would be 0. This does not seem to be the case.

Here is what I have:

To save:

- (void)viewWillDisappear:(BOOL)animated
{
[[NSUserDefaults standardUserDefaults] setInteger:setbatteryHealthCalculated     forKey:@"healthValue"];

    [[NSUserDefaults standardUserDefaults] synchronize];

}

For loading:

- (void) viewWillAppear:(BOOL)animated
{
NSInteger setbatteryHealthCalculated = [[NSUserDefaults standardUserDefaults]     integerForKey:@"healthValue"];
}

To check the save value:

- (IBAction)check{

    NSInteger setbatteryHealthCalculated = [[NSUserDefaults standardUserDefaults] integerForKey:@"healthValue"];


    if  (setbatteryHealthCalculated = 0) {

                [self performSelector:@selector(displayAlert) withObject:nil];

}
}
0
source share
2 answers
if  (setbatteryHealthCalculated = 0) {

Umm. Must be

if  (setbatteryHealthCalculated == 0)

Comparison operator ==instead =in C-like languages.

setbatteryHealthCalculated 0 , . 0 , if , .

, .


BTW, setbatteryHealthCalculated ivar? , NSInteger . , ivar.

+3

registerDefaults: , ( , ). , . NSUserDefaults 0 nil , .

+2

Source: https://habr.com/ru/post/1739532/


All Articles