Insérer le contenu d'un texfield dans une URL

Salut à tous, je me remets doucement dans la programmation après des années d'arrêt. Je me suis arrêté à l'Objective C.Et la je découvre le Swift. C'est très intéressant, j'avance doucement. je suis entrain de réaliser une petite app qui contrôle un Arduino à distance, pour l'instant tout va bien, cependant j'aimerai insérer le contenu d'un label ( qui est une adresse IP) à une URL . et c'est là que je bloque, je ne sais pas comment m'y prendre.

  let clotureUrl = URL (string: "http://192.168.1.177:90/PIN2=OFF" )!

je souhaiterai faire cela :let clotureUrl = URL (string: "http://LABEL/PIN2=OFF" )!

merci beaucoup pour votre aide

Réponses

  • let unLabel = "192.168.1.177:90"
    let clotureUrl = URL (string: "http://"+ unLabel +"/PIN2=OFF" )!

  • Merci, mais dans la déclaration de la constante unLabel, j’aimerai mettre la variable UILabel ( outlet) que j’avais déclaré préalablement 🤷🏼‍♂️
  • En fait j’ai une variable de type UILabel : LabelClot1 ( qui contient l’adresse ip ) et j’aimerai la récupérer pour l’ajouter à mon url comme tu me l’as suggéré plus haut 🤷🏼‍♂️
  • PyrohPyroh Membre

    UILabel n'est pas éditable. Tu dois utiliser UITextField pour que l'utilisateur puisse saisir l'URL.

    Ça donnerait quelque chose comme ça :

    @IBOutlet var hostTextField: UITextField!
    
    // Dans ta méthode appelante tu dois utiliser quelque chose d'approchant:
    
    guard 
        let host = hostTextField.text, 
        let clotureURL = URL(string: "http://\(host)/PIN2=OFF"
    else { // gestion du cas où il n'y a pas d'entrée utilisateur ou une URL mal formée }
    
    // Ensuite tu utilise ton URL comme bon te semble.
    

    Note que selon le niveau de finition recherché valider les entrées utilisateur peut être une bonne idée.

  • Merci pour votre aide, je vais creuser tout ça
  • Voilà, merci beaucoup, j’ai réussi !
    Je me suis mal expliqué sur mon histoire de Label, je sais que ce n’est pas editable ! Dans un viewcontrolleur je récupère le contenue du Texfield pour l’envoyer dans le Label d’un autre viewcontrolleur. Et c’est ce label que je voulais intégrer à mon URL ! Mais voilà ça fonctionne merci encore 🤩
Connectez-vous ou Inscrivez-vous pour répondre.