2011-08-22 57 views
1

好吧,现在这对我来说确实令人难以置信,我实在无法从中找出任何意义......我用Google搜索了它,但仍然没有任何意义。当“动画”设置为“YES”时推动视图控制器时iOS应用程序崩溃,但在“动画”设置为“NO”时正常工作

我有一个UINavigationController设置,推动一个根视图控制器。当一个UIButton被按下时,根视图控制器会推动一个新的视图控制器(实际上它是一个TableViewController),这里就是奇怪的事情。

如果我将“动画”设置为“是”,应用程序只会崩溃。

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

如果我改变了,并设置“动画”为“否”,该应用程序继续正常进行,华丽的功能......我设置“动画”回“是”,并再次崩溃。

最终,如果我可以保留动画,我就会喜欢它,它毕竟是关于iOS的最美丽的事情之一,但是对于目前的情况,我不能为我的生活弄清楚发生了什么事情上。

请帮我弄清楚这里可能会出现什么问题。

+1

如果不知道异常和/或堆栈跟踪是什么,很难提供帮助。 –

+1

我建议你打开你的僵尸并运行乐器中的应用程序,这应该会告诉你什么是正在释放,然后访问,这可能是你的崩溃的来源。 http://stackoverflow.com/questions/5386160/how-to-enable-nszombie-on-xcode-4 –

回答

1

当动画打开时,Core Animation正在访问CALayer对象,即从根视图控制器和新视图控制器中绘制的视图部分。当动画关闭时,Core Animation不需要根视图控制器的CALayer对象。也许你在根视图中发布了一些视图,并且它太快地支持CALayer对象。

1

谢谢伯纳先生,您实际上给了我一个让我找到解决方案的提示。问题是我推送的视图控制器实际上是一个表视图控制器,它的单元格是根据NSArray中的条目动态创建的。我正在初始化viewDidLoad函数中的NSArray,但是我已经将它设置为autorelease,所以在视图可以被CALayer绘制之前它将从内存中释放。

相关问题