objective-c - 加载 .xib 时出错 - 应用程序崩溃

标签 objective-c ios interface-builder exc-bad-access

我正在用头撞砖墙。我正在尝试以通常的方式将 View 推送到 UINavigationController 上:

[[self navigationController]pushViewController:vc animated:YES];

当我执行此操作时,应用程序崩溃并出现以下错误:

 __CFStringEncodeByteStream + 17
Thread 1: EXC_BAD_ACCESS (code=2,address=xxxxx)

现在,我已将有问题的 ViewController 替换为 XCode 提供的模板,但没有收到错误消息,因此问题肯定出在我的 UIViewController 类上。此外,如果我用模板 UIViewController 类的名称替换 Nib 名称,它就可以工作。

MyViewController *myVc = [[MyViewController alloc]initWithNibName:@"XCodeViewController" bundle:nil];

这让我认为问题实际上在于 Nib ,而不是类本身。我已经检查了所有连接,没有错误或警告。

希望有人能帮忙。

谢谢

最佳答案

我正在处理一个与你类似的非常令人沮丧的错误,一切都已就位。 新创建的xib被添加到Bundle资源中,没有nil指针或释放指针,设置了NSZombieEnabled。文件的所有者也设置为正确的 ViewController

和我的前辈坐下来聊了30分钟后,我们终于意识到出了什么问题 -

在新创建的 Xib 中,即使将文件所有者分配给 ViewController 后,您还需要执行一个额外的步骤。 您还需要将主视图的引用导出设置为文件的所有者。最简单的方法是将引用 socket 上的“+”号(从连接检查器)拖动到文档大纲中的“文件所有者”。之后,您只需单击弹出的“查看”即可。

希望对您或面临同样问题的其他人有所帮助

关于objective-c - 加载 .xib 时出错 - 应用程序崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14155044/

相关文章:

ios - twillo Client Api 是否允许用户从应用程序调用到应用程序而不是 iOS 中的 native 调用?

iphone - 使用CGRectMake交叉模型重新定位对象是否安全?

iphone - 如何在Interface Builder中查看UITableViewDelegate?

ios - UISearchController 隐藏搜索栏

iphone - 是否可以在不创建虚拟行的情况下更改 UITableView 中占位符行的高度?

ios - 将 CGPoints 的 NSArray 转换为 NSData 的 block

objective-c - 创建 IBOutlet 还是 UIView?

ios - 从一个应用程序创建两个应用程序(使用目标?)

ios - 在包含文本的 UIlabel 周围绘制虚线边框

ios - 我们可以使用 google api 绘制路线(没有多段线)吗?