1

我根据自述文件安装了所有东西并导入了所有必要的库。不过,在实现此方法时:

- (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而不是这个时,一切正常,但是,嘿,我需要这些数据标签才能工作!

有人知道如何使它工作吗?

4

2 回答 2

1

通常forward class error在当前类中未导入该特定类并且@class在 .h 文件中声明时出现。如果@class也不存在,它通常会给出一个unknown type error. 因此,在评论中提到的这种情况下,很明显CPTTextLayer缺少 import 语句。

于 2012-10-24T09:28:38.670 回答
1

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

于 2012-10-24T09:29:33.177 回答