J'utilise Xcode 6 Beta 4. J'ai cette situation étrange où je ne peux pas comprendre comment tester correctement les options.
Si j'ai un xyz facultatif, est la bonne façon de tester:
if (xyz) // Do something
ou
if (xyz != nil) // Do something
Les documents disent de le faire de la première manière, mais j'ai trouvé que parfois, la deuxième méthode est requise et ne génère pas d'erreur de compilation, mais d'autres fois, la deuxième méthode génère une erreur de compilation.
Mon exemple spécifique utilise l'analyseur XML GData couplé à swift:
let xml = GDataXMLDocument(
XMLString: responseBody,
options: 0,
error: &xmlError);
if (xmlError != nil)
Ici, si je viens de le faire:
if xmlError
cela reviendrait toujours vrai. Cependant, si je fais:
if (xmlError != nil)
puis cela fonctionne (comme cela fonctionne en Objective-C).
Y a-t-il quelque chose avec le XML GData et la façon dont il traite les options qui me manquent?