今天遇到了一个非常奇葩的问题:新建了一个名为“Test10Cocoa”的cocoa application的工程,打开Main.storyboard,本来打算修改View Controller的Title,结果发现下面有个Is Initial Controller可选项,如下图:
出于探索的目的,就勾上了,运行程序 -> 正常运行;然后又把勾去掉,运行,结果发现只有主菜单,没有窗口了,如下图:
瞬间我整个人就懵逼了,xcode的bug吗?然后我对比了一下"Is Initial Controller"选项勾上和不勾上两种情况下Main.storyboard的区别,发现了问题产生的原因。
以源码的方式打开Main.storyboard,勾选"Is Initial Controller"的时候,Main.storyboard差异部分(下图红色标记里的代码)的源码如下:
未勾选"Is Initial Controller"的时候,Main.storyboard差异部分(下图红色标记里的代码)的源码如下:
很明显,用来初始化View Controller的入口都被删掉了,窗口当然出不来了。于是,手动加上后,程序又能正常运行了。不知道这个地方是不是xcode的一个bug呢?