修正日: 09/02/23
練習問題14
解答編その二
今回は本当に解答です。こんな感じ。
- (IBAction)changeWeightHeight:(id)sender
{
float aBmi=weight/(height/100)/(height/100);
[self setValue:[NSNumber numberWithFloat:aBmi] forKey:@"bmi"];
}
- (IBAction)changeBMI:(id)sender
{
float aWeight=bmi*(height/100)*(height/100);
[self setValue:[NSNumber numberWithFloat:aWeight] forKey:@"weight"];
}
自分で自分のインスタンス変数の値を変更するので、setValue:forKey:のレシーバはselfです。もちろん
[self setValue:[NSNumber numberWithFloat:weight/(height/100)/(height/100)] forKey:@"bmi"];
と、一行にまとめてしまっても構いません。わかりにくいですけどね。これでOKです。