私が望むようにうまく機能していない if-else ステートメントがあります。これは、変数を保持するステートメントの前のメソッドです。
[self.conditionsLabel setText:weather.weathercondition];
NSLog(@"%@", weather.weathercondition);
condition = weather.weathercondition;
if-else ステートメントは次のとおりです。
if ([weather.weathercondition isEqualToString:@"Clear"]) {
conditionsImageView.image = [UIImage imageNamed:@"Sun.png"];
}
else {
conditionsImageView.image = [UIImage imageNamed:@"Partly_Sunny.png"];
}
私のコンソールでは、weather.weathercondition は明確に表示されますが、if-else ステートメントを通過すると、常に else に進み、Partly_Sunny.png が表示されます。私は今それをテストしていて、文字列が「クリア」になることを知っています. XML ソースからデータを取得しています。これは、インターネットでデータを見ると、次のように表示されます。
<weatherDesc>
<![CDATA[ Clear ]]>
これが原因ですか?Clear の前に CDATA と表示されますが、コードでは、CDATA などを除いて、常に Clear としてログに記録されます。<![CDATA[ Clear ]]>
isEqualToString: にを入れてみましたが、同じ結果になりました。どんな助けでも大歓迎です。私は XML の構文解析に慣れておらず、Objective-C にも比較的慣れていないため、エラーが発生した場合はご容赦ください (コード内ではなく、一般的に)。大変助かります。