0
votes

Si les conditions dans le swift

Je traversais cet extrait de code de l'une des questions à Stackoverflow: Obtenez des données d'en-tête d'une demande de réponse à Swift

Là, l'auteur de l'extrait a fait quelque chose comme ça P>

The else clause of an if statement can contain another if statement to test more than one condition. An if statement chained together in this way has the following form:

    if condition 1 {
        statements to execute if condition 1 is true
    } else if condition 2 {
        statements to execute if condition 2 is true
    } else {
        statements to execute if both conditions are false
    }

The value of any condition in an if statement must be of type Bool or a type bridged to Bool. The condition can also be an optional binding declaration, as discussed in Optional Binding.


5 commentaires

C'est là dans le doc: docs.swift.org/swift-Book/languageGuide /Typecestion.html


... et en particulier le Downcasting section sur cette page .


@Martinr, comment obtenez-vous l'URL directement dans une section? Y a-t-il une manière en plus de regarder la source HTML de la page?


@vacawama Il y a un menu contextuel en haut de la page (peut-être pas dans la vue mobile).


@Martinr, fantastique! C'était clairement caché dans mon angle mort. Je ne l'ai jamais remarqué auparavant.


4 Réponses :


0
votes

Il essaie de taper la réponse reçue comme objet httpurlreesponse. Si le cas échéant est analysé et que sa valeur n'est pas nulle, votre état si votre état devient vrai et dans ce contexte, HTTPResponse Constant est disponible pour vous.


0 commentaires

1
votes

Le mot clé code> est un opérateur de typast. x comme? T code> renvoie un t facultatif code> qui est x code> couler comme t code> si x code> est un T code> (ou sous-classe) ou nil code> si x code> n'est pas un t code>. SO

if userInfoResponse is HTTPURLResponse


0 commentaires

1
votes

Il pourrait être simplifié avec un exemple

if userInfoResponse as? HTTPURLResponse != nil {


0 commentaires

0
votes

ici httpurlreesponse code> est la classe. réponse comme? Httpurlreesponse code> Caste de la réponse code> en tant que httpurlreesponse code>. Réponse CODE> est l'objet de la classe httpurlreesponse code>. Si réponse code> ne sera pas objet ou référence de la classe httpurlreesponse code> puis réponse comme? Httpurlreesponse code> Cette instruction résultera nil code> fort>. si laisse code> (la liaison optionnelle) vérifie que l'objet est nul ou non.

if let httpResponse = response as? HTTPURLResponse {
     print("response is not nil")
}  


0 commentaires