0

场景:我使用相同的图形空间(plotspace)来绘制 3 个月、6 个月、... 3 年的数据。我通过一个类似标签的控件从一个切换到另一个。

但是,当我切换图表时,我会从其他图表中“流血”。如果我要 [图表发布] 并重新创建图表,我最终会由于访问已发布的对象而崩溃。

那是:

if (graph is not nil) {
  release it;
}
create it

那么,有没有一种安全的方法来重置绘图集显示之间的绘图空间、主题和范围?从而避免出血(例如,标签相互绊倒等)。

里克。

4

1 回答 1

0

只需在同一方法中更新轴标签、绘图范围和其他与外观相关的属性,以便在 Core Animation 让图形有机会更新其布局和重绘所有内容之前更新所有内容。

听起来您在发布旧图(或其中一个部分,如绘图)后在某处保留了对旧图的弱引用。仔细检查您的内存管理。

于 2012-09-14T00:33:31.113 回答