Xcode Issue Navigator说“永远不会读取在初始化期间存储到BOOL的值”

时间:2015-05-14 18:51:43

标签: ios boolean

我在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的产品中 - >分析,我在Issue Navigator中收到一条消息,说明......

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

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

1 个答案:

答案 0 :(得分:1)

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

现在你说:"如果我不重复使用BOOL字样,我想要的东西就不起作用。"

所以显然你必须重复使用BOOL这个词是不正确的解决方法:"我想要的东西不起作用。"是。

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

你说:"我知道我不应该重新宣布BOOL"但无论如何你要这样做。 ??? ??? !!

打开一个新问题并描述我想要做的事情。""意味着然后正确地解决这个问题然后这个问题将是无关紧要的。