我在设备上安装了旧版本的应用程序。在我的新版本中,我不再使用 .xib 文件,因为它从复杂的东西变成了一个表格视图,我可以在代码中实例化它。
但是,当我在设备上构建和运行时,它会崩溃,因为它仍然尝试从旧应用程序中包含的 .xib 文件加载控制器,并抱怨 UILabel 缺少键/值对。
例如:
SomeViewController.h (UITableViewController)
SomeViewController.m
SomeViewController.xib (在新版本中移除)
SomeViewController *controller = [[SomeViewController alloc] initWithStyle:UITableViewStylePlain];
- (id)initWithStyle:(UITableViewStyle)style
{
self = [super initWithStyle:style];
if (self)
{
}
return self;
}
即使我调用“initWithStyle”,它仍然会尝试加载预先存在的 .xib!
我目前的解决方案是使用空白 UITableView 创建 SomeViewController.xib。
然而,我怀疑,当用户从应用商店更新应用时,它会覆盖整个应用,不会留下任何东西。
这是真的?应用程序更新会覆盖现有应用程序还是会留下挥之不去的 .xib 文件?
现在我必须用其他所有视图测试旧版本,以确保没有其他问题挥之不去。
阅读 NIB 上的开发人员文本:http: //developer.apple.com/library/ios/#documentation/Cocoa/Conceptual/LoadingResources/CocoaNibs/CocoaNibs.html
也许我发现了一个错误?
另一种选择是我将类重命名为 SomeController 之类的其他名称,以避免自动加载关联的 .xib 文件。