0

私は温度コンバーターを作成していて、アプリを改善したかったので、変換された数値になる出力に応じて背景画像を変更するコードを追加することにしました。私がやりたいことは、convertedTemperatureLabel.text < 0 の場合、背景がインポートする画像に変更され、> 0 の場合、背景が別の画像に変更されることです。そこで、予想される識別子エラーを与える次のコードを使用しました。

if ([convertedTemperatureLabel.text doubleValue] < 0) {
NSLog("The temperature is above 0");
self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"snowy- grand-canyon-nichols_26007_600x450.jpg"]];
}

else {
NSLog("The temperature is below 0");
self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"wallpaper_hazybluedots.jpg"]];
}

私の間違いはどこですか?また、コードは私の目的に必要なものですか? 前もって感謝します!

4

2 に答える 2

2

に渡された文字列は;NSLogのインスタンスではありません。NSStringそれらはC文字列です。

NSLog(@"The temperature is above 0");

「アット」記号を追加すると、正しくなります。

ログステートメントは、実際に必要なものに対して逆になっています。温度がゼロ未満の場合、温度がゼロを超えているとは言いたくありませ。そして、 1 つの条件欠けています: 変換された温度がゼロの場合はどうなるでしょうか?

于 2013-02-20T21:08:14.720 に答える
0

trudyscousin が言ったように、次のように NSLog に obj-c 文字列を提供する必要があります。

   NSLog(@"The temperature is below 0");
于 2013-02-20T21:11:17.980 に答える