iphone - 防止 UIViewController 从应用程序包中加载陈旧的 XIB

标签 iphone ios objective-c xcode uiviewcontroller

我在交付的应用程序中有一个 UIViewController 子类,其 UI 历史上是从 XIB 文件加载的。

为了解决一些 iOS 7 兼容性问题,我不得不切换到以编程方式构建此屏幕,因此不再需要 XIB,我已将其从项目中删除并在 Xcode 中完成了干净的构建。

但是,当在 App Store 上的版本之上安装新版本时,我最终得到了一个双 UI - 看起来残留的 XIB 文件仍然存在于升级版本的应用程序包中正在加载以及我以编程方式创建的版本。

有谁知道如何阻止 UIViewController 子类加载过时的 XIB 并以编程方式创建 View ?

我尝试在我的 initWithNibName:bundle: 实现中暂时注释掉对 [super initWithNibName: nil bundle nil] 的调用(我知道这是一件坏事要做 - 只是尝试尝试以更好地理解问题),但这并没有帮助。

最佳答案

将我的编程 View 创建代码从 viewDidLoad 移动到 loadView 解决了这个问题;似乎实现此方法可防止运行时寻找要加载的 XIB。

关于iphone - 防止 UIViewController 从应用程序包中加载陈旧的 XIB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19024094/

相关文章:

iphone - 除了 Objective-C 之外,我还可以使用另一种语言来为 iOS 开发应用程序吗?

ios - iAD 横幅 - 未在应用商店中显示

ios - Firebase + Swift 在 TableView 中删除行

ios - UITableView 委托(delegate)方法没有被调用?

iphone - 验证具有特殊字符的文本字段

iphone - 我的应用程序在我的 Iphone 上启动时崩溃

iphone,我的 AVPlayer 播放器播放视频的速度非常快

iphone - 获取国家调用前缀

ios - 根据单元格不改变单元格高度动态地更改UICollectionView高度

iphone - iOS:将 URL 解析为段