【问题标题】:Xcode Issue Navigator says "Value stored to BOOL during its initialization is never read"Xcode 问题导航器说“在初始化期间存储到 BOOL 的值永远不会被读取”
【发布时间】:2015-07-26 12:38:36
【问题描述】:

我在 ViewController.h 中声明了 BOOL REDguy

在 viewDidLoad 方法下的 ViewController.m 文件中,我有以下代码...

[[NSUserDefaults standardUserDefaults] setBool:REDguy forKey:@"save"];

if (REDguy==[[NSUserDefaults standardUserDefaults]synchronize]) {
    MAN.image=[UIImage imageNamed:@"RED.png"];
}
   BOOL REDguy=[[NSUserDefaults standardUserDefaults]boolForKey:@"save"];

上面的代码完全符合我的要求。但是,在 Xcode 的产品 --> 分析中,我在问题导航器中收到一条消息,说明...

“在初始化期间存储到 REDguy 的值永远不会被读取”

我知道这是指我在 REDguy 前面添加单词 BOOL,但不添加它,没有任何效果。我可以忽略问题导航器消息吗,如果我这样做,Apple 会拒绝我的应用程序吗?为什么问题导航器说它从未被读取,而在所有设备上一切正常?

【问题讨论】:

  • 这与 Xcode 或 Apple 拒绝/批准您的应用程序无关。这是一个编译器警告,可能是因为您从未使用过REDguy 变量。这可能不是你想要的。由于REDguy 似乎是一个实例变量,因此您不需要(不应)将其重新声明为局部变量。
  • 我别无选择。如果我不重用 BOOL 字,我想要的就行不通。顺便说一句,这与苹果的批准、拒绝有关,因为我在问我是否离开这个问题导航器问题,苹果会因为我离开那个问题而拒绝我的应用程序吗?
  • 再次仔细阅读上面的评论 - 它已经说明了您需要知道的一切。它解决了您的代码问题并回答了您的问题,无论它是否会被拒绝。
  • 第一条评论根本没有帮助。我知道我不应该重新声明 BOOL。在我的项目中,我已经使用了十多次没有 BOOL 的 REDguy。但是,对于上述特定代码,由于某种原因没有使用 BOOL 来实现特定的保存目的,保存不起作用。

标签: ios boolean


【解决方案1】:

您将 REDGuy 重新声明为局部变量然后不使用它,这就是该消息的原因。故事结局。没有其他原因。正如 The Croissant 在他的评论中所说的那样。

现在你说:“如果我不重用 BOOL 字,我想要的就行不通了。”

因此,很明显,您必须重复使用 BOOL 词是一种错误的方式来整理:“我想要的东西不起作用。”是。

你不会说“我想要的东西行不通”。是。无论问题是什么,重复使用 BOOL 字都不是正确的解决方案。您已经可以看到它不是正确的解决方案,因为您收到了编译警告,但即使您没有收到该警告,它仍然是不正确的解决方案,因为您使用 REDGuy 局部变量隐藏了 REDGuy 实例变量。

你说:“我知道我不应该重新声明 BOOL”,但你还是这样做了。 ?????????

打开一个新问题并描述“我想要的东西行不通”。意味着然后正确解决那个问题,那么这个问题将无关紧要。

【讨论】:

  • 使用 NSUserDefaults StandardUserDefaults 我试图在游戏期间保存 BOOL。如果用户单击 UIButton 内的 BOOL,则 BOOL 现在将保存在整个游戏中。当我从 REDGuy 前面删除 BOOL 字时,我没有收到任何警告,但现在保存不起作用。当我在 REDGuy 前面添加 BOOL 时,我收到警告并保存作品。这就是为什么我很困惑。我确实在我的项目中使用了 REDGuy 十多次,但只有当涉及到我在 REDGuy 前面放置 BOOL 字的那一行代码时,才会出现问题。
  • 你应该发布一个新问题,特别是显示 REDGuy 的定义。顺便说一句,我不知道您要使用该代码做什么,首先将 RedGuy 保存为默认值,然后将 RedGuy 的值与同步方法进行比较,然后将刚刚存储的值读回 Redguy。跨度>
猜你喜欢
  • 2011-08-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-07-26
  • 2011-09-11
  • 1970-01-01
  • 2012-01-19
相关资源
最近更新 更多