变量fullscreenController
是零,但也不是零?
编辑:调试器和控制台打印都说变量是nil,但if语句仍然被触发。
答案 0 :(得分:4)
在单线程应用程序中不可能;但是,在一个写得很多的多线程应用程序中,我想当你到达那部分代码时它可能是零。但我怀疑这是一个剪切和粘贴的错误,或者只是一个不思考的例子。
答案 1 :(得分:0)
虽然不太可能,但另一个可能的原因是归零弱引用。如果您的本地线程仅包含对fullscreenController
的弱引用,并且释放了最后一个强引用,则所有归零的弱引用都将变为零。在if
测试和分支机构代码之间可能发生这种情况。
由于ZWR在自动引用计数代码中很常见,因此在iOS 5和Lion中这类问题会变得更加规律 - 至少在人们确切知道如何使用ARC之前。
答案 2 :(得分:0)
尝试清理所有内容并重建。可能是源代码与可执行文件不一致。
此外,请确保您没有尝试调试发布版本。有时,发布版本的优化会混淆调试器中的源视图。