Core plot CPTBarPlot:在更改条填充颜色后,是否需要调用reloadData?

Core plot CPTBarPlot:在更改条填充颜色后,是否需要调用reloadData?,core-plot,Core Plot,我有一个iOS应用程序,它显示一个CPTBarPlot。我的条形图通过更改触摸条的颜色来响应触摸。我通过跟踪barWasSelectedAtRecordIndex中最后一个选定条的索引来实现这一点,然后在barFillForBarPlot中设置选定条的颜色,使其成为不同于其他条的颜色。这很好,但似乎每次选定的栏更改时我都必须调用reloadData,以使新的填充颜色生效。这需要太长时间,因为数据太多,使应用程序感觉迟钝 仅仅为了改变一个条的颜色而重新加载所有数据似乎是浪费,所以我希望有更好的方法

我有一个iOS应用程序,它显示一个
CPTBarPlot
。我的条形图通过更改触摸条的颜色来响应触摸。我通过跟踪
barWasSelectedAtRecordIndex
中最后一个选定条的索引来实现这一点,然后在
barFillForBarPlot
中设置选定条的颜色,使其成为不同于其他条的颜色。这很好,但似乎每次选定的栏更改时我都必须调用reloadData,以使新的填充颜色生效。这需要太长时间,因为数据太多,使应用程序感觉迟钝

仅仅为了改变一个条的颜色而重新加载所有数据似乎是浪费,所以我希望有更好的方法,或者我只是在做一些愚蠢的事情

以下是相关代码的简化版本:

-(void)barPlot:(CPTBarPlot *)plot barWasSelectedAtRecordIndex:(NSUInteger)idx
{
    self.selectedIndex = idx

    // Do I have to do this??
    [self reloadData];
}



-(CPTFill *)barFillForBarPlot:(CPTBarPlot *)barPlot recordIndex:(NSUInteger)index
{
    CPTFill *barFill = nil;
    if (index == self.selectedIndex)
    {
        barFill = [CPTFill fillWithColor:redColor];
    }
    else
    {
        barFill = [CPTFill fillWithColor:blueColor];
    }
    return barFill;
}

对。绘图缓存从数据源加载的所有内容,包括条填充。您需要调用
-reloadData
,告诉它可以加载新信息。

这正是我所担心的。谢谢