如何转换和比较NSNumber到BOOL? [英] How to convert and compare NSNumber to BOOL?
本文介绍了如何转换和比较NSNumber到BOOL?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
首先,我将BOOL值转换为NSNumber,以便将其置于NSUserDefaults中。后来我想从NSUserDefaults中检索BOOL值,但显然我得到NSNumber而不是BOOL。我的问题是?
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 NSNumber instead of BOOL. My questions are?
- 如何从NSNumber转换回BOOL?
- 如何比较NSNumber与BOOL值。
目前我有:
if (someNSNumberValue == [NSNumber numberWithBool:NO]) {
do something
}
更好的比较方式?
谢谢!
推荐答案
您目前正在比较两个指针。使用 NSNumber
的方法来实际比较两者:
You currently compare two pointers. Use NSNumber
s methods instead to actually compare the two:
if([someNSNumberValue isEqualToNumber:[NSNumber numberWithBool:NO]]) {
// ...
}
要从 NSNumber
获取bool值,请使用 - (BOOL)boolValue
:
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) {
// ...
}
这篇关于如何转换和比较NSNumber到BOOL?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文