-2

こんにちは、2D アーチを作成する必要があります。ここで問題が発生している場所

arc.path=[UIBezierPath bezierPathWithArcCenter:CGPointMake(50, 100)
                                                  radius:80.0
                                                  startAngle:DEGREE(65)
                                                  endAngle:DEGREE(90)
                                                  clockwise:NO].CGPath;

というエラーが表示されます

Undefined symbols for architecture i386: "_DEGREE", referenced from:

一部のヘッダー ファイルをインクルードしていません。インクルードするファイルを教えてください。

4

3 に答える 3

10

DEGREEメソッドではなくマクロです!!!

その名前から容易に想像できるように。命名規則が登場

次のように定義する必要があります。

#define DEGREES_TO_RADIANS(angle) ((angle) / 180.0 * M_PI)

また

#define DEGREE(angle) ((angle) / 180.0 * M_PI)
于 2012-12-28T12:01:23.713 に答える
7

自分自身を宣言して自分の名前を付けることもできるカスタムマクロである必要があります。次のようにして、ヘッダーまたは実装ファイルの任意の場所に配置します。

#define DEGREE(radians) ((radians) * (180.0 / M_PI))
于 2012-12-28T12:02:23.513 に答える
0

それがあなたのために働くことを願っています...

(CGFloat) radians:(CGFloat) degrees
{
    CGFloat angle = degrees * M_PI / 180.0;
    return angle;
}

@Matthias Bauch: 情報をありがとう。

于 2012-12-28T12:03:23.610 に答える