我从 iOS sdk 中的 plist 获取 id 值,如果我获取值 0,那么我必须将其显示为 1,反之亦然。
这是我的代码
+(BOOL) removeButton {
id obj = [[[NSBundle mainBundle] infoDictionary] valueForKey:@"ABC"];
if (obj != Nil) {
return (BOOL)obj;
}
return YES;
}
但问题是,当 id 的值为 0 时,它将返回 No,反之亦然。但是我想把我的条件放在相反的事情上,比如假设 id 的值为 0,那么我必须显示 return YES,反之亦然。
最佳答案
您不能将 id
转换为 BOOL
。假设它存储正确,从字典中获取它的方法是通过数字包装器 NSNumber
。
NSNumber *boolWrapper = [[[NSBundle mainBundle] infoDictionary] valueForKey:@"ABC"];
return ![boolWrapper boolValue];
这将为 1 返回 0,为 0 返回 1。
如果您像现在这样简单地转换它,它将始终为真,除非该对象不存在(即它是 nil
)。
关于ios - 想要在 iOS sdk 中反转 BOOL 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10877191/