0

Objective-C クラスの 1 つに問題があります。

Xcode は、20 行目に解析の問題があると述べています。

+ (Boolean)hasOverlay:(KnownPoints*)points byPoint:(CGPoint)p;

KnownPoints は自己記述クラスです。Xcode は、エラーが '(KnownPoints*)points の部分にあることを表示します。

このコードラインを追加するための他の同様のトピックの回答:

@class KnownPoints

動作しません。

このクラスは、x 座標と y 座標に対する緯度と経度をビューにする計算クラスで呼び出されます。

ここにコード: (CalcMakerPos.h)

#import <Foundation/Foundation.h>
#import <MapKit/MapKit.h>
#import "Journey.h"
#import "CoordRect.h"
#import "KnownPoints.h"


@interface CalcMakerPos : NSObject


+ (CGPoint)calcPosFor: (CLLocationCoordinate2D)coord WithDataFrom: (CoordRect*)rect     AtView: (UIView*)view;
+ (Boolean)hasOverlay:(KnownPoints*)points byPoint:(CGPoint)p;
@end

CalcMakerPos.m

#import "CalcMakerPos.h"
#import "MinMaxCoords.h"
#import "Journey.h"
#import "KnownPoints.h"

@implementation CalcMakerPos
#pragma mark Calculate GeoCoords zu Pixeln
+ (CGPoint)calcPosFor: (CLLocationCoordinate2D)coord WithDataFrom: (CoordRect*)rect AtView: (UIView*)view{

     double maxLat = [rect maxLat];
     double minLat = [rect minLat];
     double maxLon = [rect maxLon];
     double minLon = [rect minLon];
     int x = (int)((coord.longitude - minLon) / (maxLon - minLon) * view.frame.size.width);
     int y = (int)((coord.latitude - minLat) / (maxLat - minLat) * view.frame.size.height);
     NSLog(@"Point(%d, %d)", x,y);
     return CGPointMake(x, y);
}

#pragma mark check whether point is free
+ (Boolean)hasOverlay:(KnownPoints*)points byPoint:(CGPoint)p{
    BOOL isOverLay = false;

    return isOverLay;
}
@end

あなたが私を助けてくれることを願っています。

ドイツからのご挨拶

ロビーバイト

4

2 に答える 2

0

これは、循環インポート ステートメントが原因である可能性があります。

CalcMakerPosが にインポートまたは追加されていない@classことを確認してくださいKnownPoints

于 2013-01-29T09:26:51.760 に答える
0

KnownPointsJourney2回インポートされています。インポートは冗長であるため、実装ファイルから削除してください。

その後、プロジェクトをクリーンアップしてビルドします。

于 2013-01-29T09:36:32.817 に答える