How to convert and compare NSNumber to BOOL?

后端 未结 4 1374
太阳男子
太阳男子 2020-12-28 12:45

First I convert BOOL value to NSNumber in order to put it into NSUserDefaults. Later I would like to retrieve the BOOL value from the NSUserDefaults, but obviously I get NSN

4条回答
  •  情深已故
    2020-12-28 13:43

    You currently compare two pointers. Use NSNumbers methods instead to actually compare the two:

    if([someNSNumberValue isEqualToNumber:[NSNumber numberWithBool:NO]]) {
        // ...
    }
    

    To get the bool value from a NSNumber use -(BOOL)boolValue:

    BOOL b = [num boolValue];
    

    With that the comparison would be easier to read for me this way:

    if([num boolValue] == NO) {
        // ...
    }
    

提交回复
热议问题