有一个 UIViewController 的子类 AboutViewController 从一个 xib 文件初始化: self = [super initWithNibName:@"AboutViewController" bundle:[NSBundle mainBundle]];
本来功能正常,因为要支持多语言我在那个 xib 下面手贱点了 localize ,并翻译一些文字,但是写错了,想把翻译的删除,结果整个 AboutViewController.xib 就从 xcode 文件列表里面消失了!!!我打开它原来的路径发现已经被删除!无论是 xcode 的全局搜索,还是 cd 到项目的主目录运行 find ./ -name AboutViewController* 均只能找到那个 AboutViewController 的 m 文件和 h 文件!!!
更神奇的是,即使没有那个 xib ,这个 AboutViewController.m 依然能够正确从 AboutViewController 的 Nib 文件初始化!从一个根本不存在的文件里初始化!!编译不报错!!
然后我检查了回收站,里面有好几个 AboutViewController.xib ,我尝试恢复了一个到原来的位置,但是不管我怎么修改这个文件,编译出来的 app 都不会有任何改变!!似乎那个 viewcontroller 并不是从这个 xib 载入的界面,现在问题就是 self = [super initWithNibName:@"AboutViewController" bundle:[NSBundle mainBundle]]; 到底载入了哪个界面文件?如何搜索?