我正撞着一堵砖墙。我试图以通常的方式将视图推送到UINavigationController:
[[self navigationController]pushViewController:vc animated:YES];
当我这样做时,应用程序崩溃并出现以下错误:
__CFStringEncodeByteStream + 17
Thread 1: EXC_BAD_ACCESS (code=2,address=xxxxx)
现在,我已经使用XCode提供的模板替换了有问题的ViewController,我没有收到错误,所以问题必须在我的UIViewController类中。此外,如果我将nib名称替换为模板UIViewController类的名称,它可以工作.i.e。
MyViewController *myVc = [[MyViewController alloc]initWithNibName:@"XCodeViewController" bundle:nil];
这让我觉得问题实际上是与笔尖有关,而不是类本身。我检查了所有连接,没有错误或警告。
希望有人可以提供帮助。
由于
答案 0 :(得分:1)
我正在处理一个类似于你的非常令人沮丧的错误,一切都已到位。 新创建的xib被添加到Bundle资源,没有nil指针或释放指针,NSZombieEnabled被设置。文件的所有者也被设置为正确的ViewController
与我的大四学生坐了30分钟后,我们终于意识到出了什么问题 -
在新创建的Xib中,即使将文件所有者分配给ViewController,还需要执行一个额外的步骤。 您还需要将主View的引用Outlet设置为File的所有者。最简单的方法是将引用插座上的“+”符号(从“连接”检查器)拖到“文档大纲”中的“文件所有者”。在此之后你只需要点击弹出的“视图”就可以了。
希望能帮助您或其他任何面临同样问题的人
答案 1 :(得分:0)
检查您的笔尖是否已添加到应用程序包中。您可以通过选择项目文件来执行此操作 - >构建阶段 - >复制捆绑资源。 如果不存在,请添加它。
昨天我遇到了同样的问题,这就是问题所在。
我希望它有所帮助。
答案 2 :(得分:0)
需要更多信息才能回答,我可以提供一些可能性。
检查您的身份检查器中是否正确映射了类名。 并检查你的连接。如果您的视图映射到xib。等。 如果您在6.0以下的操作系统中运行该应用程序使用自动布局等功能构建,会导致崩溃。
有多种可能性。
希望这能提供见解。