-4

Employee クラスにセッターメソッドがあります

-(void)setAge:(int)age{
    self.age = age;
}

self.age の代わりに _age を使用する必要があることはわかっています。このセッターメソッドに他に問題はありますか?

従業員の年齢が0未満の場合は正しくないため、年齢を確認する必要があると思います

4

2 に答える 2

2

これは無限再帰ループです。何度も呼ぶから…こうして…

[self setAge:age];

だからあなたはそのようにする必要があります..

@synthesize age = _age;

- (void)setAge:(int)age 
{
    _age = age;
}
于 2013-07-12T10:25:53.263 に答える
0

これにより、無限ループが作成されます。

ヘッダー ファイルに追加します。

@property (readwrite, assign) NSInteger age;

新しいバージョンの xcode では @synthetize を使用する必要はありません。

プロパティを使用できるようになったら:

 self.age = 15;
 or
 [self setAge:15]
 NSLog(@"Age is %d", self.age);

また、セッターを変更することもできます

 -(void)setAge:(NSInteger)age {
    _age = age;
    // your code
 }
于 2013-07-12T10:36:34.707 に答える