0

私はObjectiveCを初めて使用し、プログラミングも初めてです。「絶対初心者のためのObjectiveC」という本を読んでいて、その例で練習しようとすると問題が発生します。

この例では、定義するメソッドがいくつかあり、変数を使用する必要があります。しかし、これらの変数を宣言する行がなく、Xcodeでエラーが発生しました。次に、これらの変数を実装内で宣言しようとすると、機能しました。(エラーはもうありません)

私の質問は、この本は変数の宣言について欠落しているのですか、それとも必要ではないのですか?または、Xcodeのバージョンによって異なりますか?次の例では、この種の問題が再び発生し続けます。

これはばかげた質問かもしれませんが、私はまったく新しいです^^。

どうもありがとう。

#import "RadioStation.h"

@implementation RadioStation

+ (double)minAMFrequency {
return 520.0;
}

+ (double)maxAMFrequency {
return 1610.0;
}

+ (double)minFMFrequency {
return 88.3;
}

+ (double)maxFMFrequency {
return 107.9;
}

- (id)initWithName:(NSString *)newName atFrequency:(double)newFrequency {
    self = [super init];
    if (self != nil) {
         name = newName;
         frequency = newFrequency;
    }
    return self;
}

- (NSString *)name {
    return name;
}

- (void)setName:(NSString *)newName {
     name = newName;
}

- (double)frequency {
     return frequency;
}

- (void)setFrequency:(double)newFrequency {
     frequency = newFrequency;
}
@end
4

2 に答える 2

1

コードから、4つのクラスメソッドと、名前(NSString)と頻度(double)ごとに2つのセッター/ゲッターがあるようです。

私はこれらの2つがあなたのRadioStationクラスに割り当てられていると思います。

@interface RadioStation : NSObject
@property (assign) NSString *name;
@property double frequency;
@end

またはそれは次のようにivarsかもしれません:

@interface RadioStation : NSObject{
    NSString *name;
    double frequency;
}
@property (assign) NSString *name;
@property double frequency;
@end

または、ivarとプロパティの両方の古いスタイルの組み合わせ

@interface RadioStation : NSObject{
    NSString *name;
    double frequency;
}
@end
于 2013-03-26T16:24:40.290 に答える
0

次のように、.hまたは.mファイルで変数を宣言できます。

@interface MyViewController (){
    NSString *string;
    int integer;
}

インポートの下のファイルの上部でこのコードを使用します。

于 2013-03-26T16:01:32.237 に答える