首先我将 BOOL 值转换为 NSNumber,以便将其放入 NSUserDefaults。稍后我想从 NSUserDefaults 中检索 BOOL 值,但显然我得到的是 NSNumber 而不是 BOOL。我的问题是?
- 如何将 NSNumber 转换回 BOOL?
- 如何将 NSNumber 与 BOOL 值进行比较。
目前我有:
if (someNSNumberValue == [NSNumber numberWithBool:NO]) {
do something
}
有更好的比较方法吗?
谢谢!
最佳答案
您当前比较两个指针。使用 NSNumber
的方法来实际比较两者:
if([someNSNumberValue isEqualToNumber:[NSNumber numberWithBool:NO]]) {
// ...
}
要从 NSNumber
获取 bool 值,请使用 -(BOOL)boolValue
:
BOOL b = [num boolValue];
这样比较对我来说更容易阅读:
if([num boolValue] == NO) {
// ...
}
关于iphone - 如何将 NSNumber 转换和比较为 BOOL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2478984/