首先,我将布尔值转换为NSNumber,以便将其转换为NSUserDefaults.后来我想从NSUserDefaults中检索BOOL值,但显然我得到的是NSNumber而不是BOOL.我的问题是?
- 如何从NSNumber转换回BOOL?
- 如何将NSNumber与布尔值进行比较.
目前我有:
if (someNSNumberValue == [NSNumber numberWithBool:NO]) {
do something
}
有更好的方法来进行比较吗?
谢谢
首先,我将布尔值转换为NSNumber,以便将其转换为NSUserDefaults.后来我想从NSUserDefaults中检索BOOL值,但显然我得到的是NSNumber而不是BOOL.我的问题是?
目前我有:
if (someNSNumberValue == [NSNumber numberWithBool:NO]) {
do something
}
有更好的方法来进行比较吗?
谢谢
您当前比较了两个指针.使用NSNumber
s方法来实际比较这两种方法:
if([someNSNumberValue isEqualToNumber:[NSNumber numberWithBool:NO]]) {
// ...
}
要从NSNumber
使用-(BOOL)boolValue
获得布尔值:
BOOL b = [num boolValue];
有了这个比较,我就更容易这样读了:
if([num boolValue] == NO) {
// ...
}