我正在使用Xcode 6 Beta 4。我遇到了这种奇怪的情况,无法确定如何适当地测试可选项。
如果我有一个可选的xyz,正确的测试方式是什么:
if (xyz) // Do something
或者if (xyz != nil) // Do something
这些文件说要用第一种方式做,但我发现有时需要用第二种方式,并且不会产生编译错误,但有时第二种方式会产生编译错误。
我的具体示例是使用 GData XML 解析器桥接到 Swift:
let xml = GDataXMLDocument(
XMLString: responseBody,
options: 0,
error: &xmlError);
if (xmlError != nil)
在这里,如果我只是这样做:
if xmlError
它将始终返回true。但是,如果我执行以下操作:
if (xmlError != nil)
那么它可以正常工作(就像在Objective-C中一样)。
我是否遗漏了GData XML及其处理可选项的方式?