如何使用绑定配置核心绘图数据标签

时间:2013-11-03 21:41:48

标签: objective-c cocoa core-plot cocoa-bindings

我正在尝试使用核心图和绑定来设置饼图。我可以使用CPTPieChartBindingPieSliceWidthValues正确显示图表

[pieChart bind:CPTPieChartBindingPieSliceWidthValues
    toObject:[self sectorAllocation]
       withKeyPath:@"arrangedObjects.sectorPercentage"
           options:nil];

(sectorAllocation是一个NSArray控制器)

类似地,我尝试使用CPTPlotBindingDataLabels绑定数据标签

[pieChart bind:CPTPlotBindingDataLabels
          toObject:[self sectorAllocation]
       withKeyPath:@"arrangedObjects.sectorName"
           options:nil];

(sectorName是NSString值)

但是这似乎不起作用我在控制台中收到以下错误

  

[__ NSCFString setShadow:]:发送到实例的无法识别的选择器   0x60800023fb00

它似乎不喜欢字符串对象,所以我该怎么做呢?以及它在寻找什么类型的物体?

2 个答案:

答案 0 :(得分:2)

绑定需要NSArray核心图层(CPTLayer),每个数据索引一个。 CPTTextLayer是一个常见的选择,因为它显示文本,但也允许使用其他图层类型。

答案 1 :(得分:0)

显然,Core Plot需要一个类,其实例响应setShadow:。在Cocoa,只有一个类afaik:NSView。这似乎是绘制标签的合理类。

此外,您可以浏览Core Plot的文档,以了解是否存在响应setShadow:的框架类。