objective-c - If-Else 语句不起作用

标签 objective-c ios if-statement xml-parsing

我有一个 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。我现在正在测试它,我知道该字符串将是“Clear”。我从 XML 源获取数据,如果我在 Internet 上查看它,它就是这样显示数据的:

<weatherDesc>
<![CDATA[ Clear ]]>

是这个原因吗?它在 Clear 之前说 CDATA,但在代码中,它总是记录为 Clear,没有 CDATA 和其他东西。我试着把 <![CDATA[ Clear ]]>在 isEqualToString: 中,但结果相同。任何帮助将不胜感激。我是解析 XML 的新手,也是 Objective-C 的新手,所以请原谅任何错误(不是在代码中,而是在一般情况下)。非常感谢您的帮助。

最佳答案

CDATA 是一种结构,表示内部的任何内容都应被视为纯文本(而非 XML)。当 XML 解析器检测到它时,它将删除 CDATA 结构并在结构中呈现数据。

关于objective-c - If-Else 语句不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11094213/

相关文章:

ios - 将类实例重置为其在 ios 中的先前状态

objective-c - 如何使用NSFileHandle的writeabilityHandler?

ios - 如何在 Xcode 上将 3D 对象 (.obj) 导入 ARKit

ios - 如何在 tableviewcell swift 3 中添加阴影?

ios - 如何在 ios 编程中使用地址簿 API 获取联系人?

c++ - 比较数组成员与嵌套循环,计算满足条件(if)的次数

c - C if 语句编程

objective-c - swift let 是否等同于 objective-c const?

ios - 同时替换 NSString 中的多个字符

javascript - 基本的 javascript if-else 函数不起作用?