ios - 想要在 iOS sdk 中反转 BOOL 值

标签 ios boolean

我从 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/

相关文章:

list - haskell - 指定为真的条件数

java - 如何让java在退出程序时保存数据

ios - 如何在 Lion 上测试 iPhone 3G/3GS 和 iOS 3/4 的 iOS 应用程序兼容性?

ios - 我的应用程序被拒绝了。我在哪里可以找到广告标识符或 AIdentifiermanager?

python - NumPy 2D 数组 boolean 索引与每个轴

java - 只有两个参数的递归 isMember 方法!

java - 如果第一个字母是辅音,则返回 boolean 值

ios - ios 上 safari 的奇怪行为。在这里解释太复杂

ios - 管理 View Controller 以维护状态

ios - 以编程方式创建的 UIViewController 被导航栏部分隐藏