0

我想在我使用核心图创建的应用程序中放置多个饼图。我创建了一个包装类(我们称之为PieChartViewController),它是一个视图控制器,并设置了图形以及一些按钮和动作以使图形具有交互性。为了部署它,我通常只是在另一个视图控制器上创建一个属性,PieChartViewController当我初始化这个视图控制器时,我只需分配/初始化PieChartViewController并将其视图添加到主视图。这通常工作正常。

问题是在另一个视图上,我想向视图添加可变数量的图形,并且这个数字是在初始化视图控制器时确定的。我有一个初始化每个PieChartViewController并将其添加到NSMutableDictionary父对象的方法,以便我可以保留对它们的引用。然而,这似乎并没有让它们保持活力,因为我总是遇到BAD_ACCESS 2 崩溃,并且在运行仪器时我意识到它们被释放了。

因此,当PieChartViewControllers它们存储在一个属性上时,一切都很好,但是当我将它们放入字典时,它们似乎没有保持足够长的生命。我仍然不太熟悉objective-c中的内存管理,我不确定如何去做,希望能提供任何帮助。

4

1 回答 1

2

我只是分配/初始化 PieChartViewController 并将其视图添加到主视图。这通常工作正常

它可能工作正常,但不要这样做。这是对 UIViewController 的误用。在这里查看我的答案:https ://stackoverflow.com/a/15962125/341994

于 2013-04-24T21:56:00.690 回答