我正在使用Xcode 6 Beta4。我有这种奇怪的情况,我无法弄清楚如何适当地测试可选项。
如果我有可选的xyz,则是正确的测试方法:
if (xyz) // Do something
要么
if (xyz != nil) // Do something
这些文档说是第一种方法,但是我发现有时第二种方法是必需的,并且不会生成编译器错误,但是有时,第二种方法会生成编译器错误。
我的具体示例是使用桥接到swift的GData XML解析器:
let xml = GDataXMLDocument(
XMLString: responseBody,
options: 0,
error: &xmlError);
if (xmlError != nil)
在这里,如果我刚做过:
if xmlError
它将始终返回true。但是,如果我这样做:
if (xmlError != nil)
然后它就起作用了(就像在Objective-C中一样)。
GData XML以及它处理我缺少的可选内容的方式吗?