1

好的,现在这对我来说真的令人难以置信,我真的无法理解它......我用谷歌搜索了它,仍然一无所获。

我设置了一个 UINavigationController 来推送根视图控制器。然后,当按下 UIButton 时,根视图控制器会推送一个新的视图控制器(实际上是 TableViewController),这就是事情变得奇怪的地方。

仅当我将“动画”设置为“是”时,该应用程序才会崩溃。

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

如果我更改此设置并将“动画”设置为“否”,应用程序将继续正常运行并运行良好......我将“动画”设置回“是”,它再次崩溃。

最终,如果我能保留动画,我会很高兴的,毕竟它是 iOS 最美丽的事情之一,但在目前的情况下,我终生无法弄清楚发生了什么。

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

4

2 回答 2

1

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

于 2011-08-22T13:59:26.047 回答
1

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

于 2011-08-23T09:16:26.573 回答