【发布时间】: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 来实现特定的保存目的,保存不起作用。