View Controller 更新后继续加载xib文件
Posted
技术标签:
【中文标题】View Controller 更新后继续加载xib文件【英文标题】:View Controller continues to load xib file after update 【发布时间】:2013-10-24 16:24:04 【问题描述】:我已经为我的应用创建了一个更新,它使用一个 xib 文件来加载一个特定的视图控制器。在更新中,我删除了 xib
并从控制器的源文件中删除了所有插座。现在我以这种方式创建我的控制器:
RRVacancySearchViewController *vacancySearchController = [[RRVacancySearchViewController alloc] initWithStyle:UITableViewStylePlain];
当我在 iPhone 上运行更新版本而不是旧版本时,此控制器无法加载并出现错误:
*** Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<RRVacancySearchViewController 0x1fdaaa20> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key _historyTableView.'
但是我没有_historyTableView
了。它是从一个旧的xib
文件加载的,我不想再使用它了。
我应该怎么做才能让 iPhone 完全忘记 xib
并且不使用它?
【问题讨论】:
从设备中删除应用程序。 Xcode 在部署期间不会删除文件。如果要测试更新过程,则必须使用 ad hoc 部署。你不能只在 Xcode 中点击 Run。 这是正确答案。创建 Ad Hoc 版本后,问题停止发生。从 Xcode 安装更新与测试更新无关。 【参考方案1】:删除项目中的.xib
并删除对它的所有引用。还要在您的代码中确认您不是在寻找_historyTableView
。
【讨论】:
【参考方案2】:您的 xib 文件中似乎仍有一个 IBOutlet 引用 _historyTableView
【讨论】:
【参考方案3】:有时模拟器不会刷新新的 xib 文件/图像以加快测试过程。 这个问题我遇到过很多次,我找到的唯一解决方案是重置模拟器,手动删除应用程序,然后重新安装。
如果你需要检查不同的,你必须构建两个不同的 ipa 并手动安装它们。
【讨论】:
以上是关于View Controller 更新后继续加载xib文件的主要内容,如果未能解决你的问题,请参考以下文章
更新 ComboBox 的项目后发生 NullPointerException
尝试从 tableView 加载图像时,Swift View Controller 空白
在 XIB 中连接 UIView 并使用 Story board 中的 View Controller 加载它