-1

それが理にかなっていることを願っています。ユーザーが入力するものとして、半径を定義しようとしています。どうすればいいですか?

#import "circle.h"

@implementation circle

-(double) radius {
    double radius = 
}

-(double) pi {
    double pi = 3.14159;
    return pi;
}

@synthesize setRadius, getRadius;

-(double) getArea {
    double area = pi * radius * radius;
    return area;
}

-(double) getDiameter {
    double diameter = 2 * radius;
    return diameter;
}

-(double) getCircumcerence {
    double circumference = 2 * pi * radius;
    return circumference;
}
@end

これは何もない文なので、ほとんどコードではないという質問を投稿させていただきます。

4

2 に答える 2

0

元の質問を読み違えたため、回答を更新します。あなたがやろうとしていると私が推測することを述べさせてください:

Objective C クラスの「radius」というプロパティの値を設定します。インターフェイス (ヘッダー) には次のようなものが必要です。

  @property (nonatomic, assign) double radius; 

プロパティを合成していますが、それをしたい/必要があると思います。しかし、あなたの構文は間違っています。そのはず:

    @synthesize radius;

インスタンス変数は、デフォルトで次のようになります: _radius

したがって、セッターは次のようになります。

- (void)setRadius:(double)radius
{
   _radius = radius;
}

ゲッターは次のようになります。

-(double)radius
{
    return _radius;
}

必要に応じて、@synthesize ステートメントで別のバッキング変数を設定できます。デフォルトでは、_radius が取得されます。

セッターとゲッターに必要なカスタム ロジックがない限り、これらのメソッドを定義する必要はまったくないことに注意してください。また、デフォルトでは、プロパティを合成する必要さえありません。コンパイラはそのすべてを処理します。

詳細情報: http://useyourloaf.com/blog/2012/08/01/property-synthesis-with-xcode-4-dot-4.html

于 2013-11-07T01:06:49.057 に答える