我正在用头撞砖墙。我正在尝试以通常的方式将 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/