调试模式下蓝色和黑色有什么不同?

Asi*_*ati 6 debugging xcode objective-c ios swift

为什么有时文字是蓝色的,有时是黑色的?

在此输入图像描述

在此输入图像描述

Kam*_*pai 4

我很好奇这个问题,并做了小测试。

我不确定我所观察到的事情是否正确,但我确实测试了很多次并得到了相同的结果。

结论:

我观察到,当您调试代码和弹出屏幕上出现的变量(如果仍在使用中)时,我的意思是该变量的存在对于编译器来说很重要,而不是显示黑色文本。但是,在编译器不再需要该变量的值之后,它将显示蓝色文本

举个例子:

在此输入图像描述

在上面的图像变量中,fileName第二行使用了字符串变量(它不可见,因为弹出屏幕与它重叠,您可以在下一个图像中看到它),因此这里的文本现在是黑色的。但请看下一张图片

在此输入图像描述

在这里您可以看到变量fileName不再使用,调试指针位于方法的末尾。所以文本现在变成蓝色。

即使在控制台窗口中,文本也会根据变量的存在而变化。

参考第一个图像控制台屏幕:

在此输入图像描述

参考第二个图像控制台屏幕:

在此输入图像描述