我根据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 declaration
和
ARC Semantic issue - Receiver 'CPTTextLayer' for instance message is a forward declaration
我在很多帖子中读过,这是缺少Quartz库的错,虽然我已将其导入项目并包含在类中:#import <QuartzCore/QuartzCore.h>
。
当我返回nil
而不是这个时,一切正常,但是,嘿,我需要这些数据标签才能运作!
有人知道如何让它发挥作用吗?
答案 0 :(得分:1)
通常forward class error
来自当前类中未导入特定类,并且在.h文件中声明@class
。如果@class
也不存在,则通常会提供unknown type error
。因此,在评论中提到的这种情况下,显然缺少CPTTextLayer
的import语句。
答案 1 :(得分:1)
我认为您忘记在代码中导入CPTTextLayer.h