有一个 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]]; 到底载入了哪个界面文件?如何搜索?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.