si les conditions dans le rapide

anny123

Je parcourais cet extrait de code de l'une des questions de stackoverflow : obtenir des données d'en-tête à partir d'une réponse de demande dans swift

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

if let httpResponse = response as? HTTPURLResponse {
     if let xDemAuth = httpResponse.allHeaderFields["X-Dem-Auth"] as? String {
        // use X-Dem-Auth here
     }
}

J'ai également vu du code où il y a des conditions if qui ressemblent à ceci

if userInfoResponse as? HTTPURLResponse != nil {

Je suis allé à la documentation de swift pour voir s'il existe une référence à une telle condition : https://docs.swift.org/swift-book/ReferenceManual/Statements.html mais je n'ai trouvé aucune référence à as. J'ai lu ce document ( https://www.programiz.com/swift-programming/if-else-statement )

Swift docs ne donne que cette description

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.

Ce qui ressemble à la condition if en javascript. Quelqu'un peut-il m'expliquer la condition ci-dessus si autre? Comme quoi as?dans la condition ci-dessus?

Sh_Khan

Cela pourrait être simplifié avec un exemple

let df:Any = 123

if let res = df as? String {
    print(res)
}
else { 
    print("no") // prints
}

et

if let res = df as? Int {
    print(res)  // prints 
}
else { 
    print("no")
}

BTw , votre code pourrait être

if let res =  userInfoResponse as? HTTPURLResponse {
   // use res
}

ou alors

if let _ =  userInfoResponse as? HTTPURLResponse {

}

ou alors

if userInfoResponse is HTTPURLResponse {

}

à la place de

if userInfoResponse as? HTTPURLResponse != nil {

Cet article est collecté sur Internet, veuillez indiquer la source lors de la réimpression.

En cas d'infraction, veuillez [email protected] Supprimer.

modifier le
0

laisse moi dire quelques mots

0commentaires
connexionAprès avoir participé à la revue

Articles connexes

Le moyen le plus rapide d'utiliser les conditions dans la boucle for

Le moyen le plus rapide de compter un élément dans une liste satisfaisant les conditions

Le moyen le plus rapide de vérifier si le mot est dans les synsets NLTK?

tableau de sous-ensemble rapide si les valeurs correspondent dans le dictionnaire en python

Vérifiez si une valeur existe en utilisant plusieurs conditions dans le groupe dans les pandas

Dart continue au cas suivant dans le commutateur si les conditions ne sont pas remplies

jQuery: si la condition fonctionne mais comment vérifier le résultat dans toutes les conditions if

Comment remplacer les valeurs dans la colonne si le nombre n'atteint pas certaines conditions

Itérer dans le tableau et additionner si les conditions sont remplies

Besoin de faire écho à une instruction si toutes les conditions sont vraies dans le script shell

Quel est le moyen le plus rapide de parcourir un DataFrame et de compter les occurrences dans le DataFrame pendant que certaines conditions sont remplies (en Python)?

Quel est le moyen le plus rapide et / ou le plus idiomatique de savoir si une colonne d'objet a plusieurs types de données dans les pandas?

Si les conditions pour les paramètres dans Ansible

Le moyen le plus rapide de vérifier si le nombre est dans le tableau ?

Le moyen le plus rapide de trouver si un groupe de potentiels existe dans une liste de toutes les solutions en Python

Quel est le moyen le plus rapide de voir si les valeurs d'un OrderedDict numpy sont identiques dans un autre OrderedDict?

Quel est le moyen le plus rapide de voir si les valeurs d'un tableau à 2 dimensions sont présentes dans 3 autres tableaux à deux dimensions

Pourquoi Rust est plus rapide qu'Ocaml dans les performances, même si le premier compilateur Rust a été implémenté dans Ocaml

Vérifiez si l'élément est dans la liste, puis écrivez dans une nouvelle colonne dans le cadre de données Pandas si les conditions sont remplies

Le moyen le plus rapide de multiplier plusieurs colonnes dans Dataframe en fonction de conditions

PHP Le moyen le plus rapide de vérifier si une valeur dans le tableau existe

Le compilateur semble évaluer chaque instruction if même si les conditions ne sont pas remplies dans SQL

Un «ou» dans la requête est-il plus rapide pour les recherches d'enregistrement actif si vous avez besoin de le filtrer davantage?

moyen le plus rapide de vérifier si tous les éléments d'une liste de chaînes sont dans une chaîne

Moyen le plus rapide dans numpy pour vérifier si les vecteurs sont alignés ou ont une direction opposée (post-traitement SVD tronqué)

Combinez 2 si les conditions dans l'instruction SQL SELECT

Mettre si les conditions dans la route laravel

si les déclarations avec plusieurs conditions dans r?

Un moyen plus rapide de filtrer les pandas DataFrame dans la boucle For sur plusieurs conditions

TOP liste

  1. 1

    Redirection HTTP vers HTTPS dans Java à l'aide de HTTPURLConnection

  2. 2

    Uncaught TypeError: map n'est pas une fonction dans Reactjs avec Firebase

  3. 3

    Laravel SQLSTATE [HY000] [1049] Base de données inconnue 'previous_db_name'

  4. 4

    Comment envoyer plusieurs variables de la lame au contrôleur

  5. 5

    Microsoft.WebApplication.targets

  6. 6

    Comment analyser un fichier avec un tableau d'objets JSON en utilisant Node.js?

  7. 7

    Comment définir du texte dans un QLabel et afficher les caractères '<>'?

  8. 8

    Concaténer des variables dans ansible

  9. 9

    Filtrer les données en fonction des conditions d'une trame de données

  10. 10

    Échec de l'exécution de 'insertBefore' sur 'Node': le paramètre 1 n'est pas de type 'Node'

  11. 11

    ESP8266 HADRWARE MINUTERIE, USA pour cocher une macro étrange

  12. 12

    Comment changer le navigateur par défaut en Microsoft Edge pour Jupyter Notebook sous Windows 10 ?

  13. 13

    Comment centrer un div tout en utilisant la transition et transformer avec l'échelle

  14. 14

    Stop jQuery execution after one time execution

  15. 15

    obtenir le nombre de marqueur affiché sur la carte

  16. 16

    System.Data.SqlClient.SqlException: 'Nom de colonne non valide' ApplicationRoleId '.'

  17. 17

    Générer une variable binaire avec une corrélation prédéfinie avec une variable déjà existante

  18. 18

    comment afficher un bouton au-dessus d'un autre élément ?

  19. 19

    Enregistrer le chemin de l'image de la galerie vers la base de données de la salle et l'afficher dans la liste des recycleurs

  20. 20

    php ajouter et fusionner des données de deux tables

  21. 21

    Comment utiliser le stockage local et le supprimer lorsqu'il n'est pas nécessaire

chaudétiquette

Archive