1

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と、すべてが機能しますが、ねえ、私はそれらのデータラベルが機能する必要があります!

誰かがそれを機能させる方法を知っていますか?

4

2 に答える 2

1

通常forward class error、その特定のクラスが現在のクラスにインポートされておらず@class、.h ファイルで宣言されている場合に発生します。@classも存在しない場合、通常はunknown type error. CPTTextLayerしたがって、この場合、コメントで述べたように、インポートステートメントが欠落していることは明らかです。

于 2012-10-24T09:28:38.670 に答える
1

コードに CPTTextLayer.h をインポートするのを忘れていると思います

于 2012-10-24T09:29:33.177 に答える