CorePlot的ARC问题

时间:2012-10-24 08:16:00

标签: objective-c ios ios6 core-plot xcode4.5

我根据README文件安装了所有内容并导入了所有必需的库。仍然,在实施此方法时:

- (CPTLayer *)dataLabelForPlot:(CPTPlot *)plot recordIndex:(NSUInteger)index {
    CPTMutableTextStyle *labelText = nil;
    labelText= [[CPTMutableTextStyle alloc] init];
    labelText.color = [CPTColor grayColor];

    return [[CPTTextLayer alloc] initWithText:@"Test" style:labelText];
}

我收到错误:

ARC Semantic issue - Receiver 'CPTTextLayer' for class message is a forward declarationARC Semantic issue - Receiver 'CPTTextLayer' for instance message is a forward declaration

我在很多帖子中读过,这是缺少Quartz库的错,虽然我已将其导入项目并包含在类中:#import <QuartzCore/QuartzCore.h>

当我返回nil而不是这个时,一切正常,但是,嘿,我需要这些数据标签才能运作!

有人知道如何让它发挥作用吗?

2 个答案:

答案 0 :(得分:1)

通常forward class error来自当前类中未导入特定类,并且在.h文件中声明@class。如果@class也不存在,则通常会提供unknown type error。因此,在评论中提到的这种情况下,显然缺少CPTTextLayer的import语句。

答案 1 :(得分:1)

我认为您忘记在代码中导入CPTTextLayer.h