我在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会拒绝我的应用程序吗?为什么当所有设备上的一切正常时,问题导航器会说它从未被读过?
答案 0 :(得分:1)
您正在将REDGuy重新声明为本地变量,然后不使用它,这就是消息的原因。故事结局。没有其他原因。正如The Croissant在评论中所说的那样。
现在你说:"如果我不重复使用BOOL字样,我想要的东西就不起作用。"
所以显然你必须重复使用BOOL这个词是不正确的解决方法:"我想要的东西不起作用。"是。
你不能说什么"我想要的东西不起作用。"是。无论问题是什么,重新使用BOOL字都不是正确的解决方案。您已经可以看到它不是正确的解决方案,因为您收到了编译警告,但即使您没有收到该警告,它仍然是不正确的解决方案,因为您已使用REDGuy局部变量隐藏了REDGuy实例变量。
你说:"我知道我不应该重新宣布BOOL"但无论如何你要这样做。 ??? ??? !!
打开一个新问题并描述我想要做的事情。""意味着然后正确地解决这个问题然后这个问题将是无关紧要的。