2 votes

stocker l'url dans userdefaults

J'appelle l'API avec 'Alamofire'. Dans ma réponse, j'obtiens un lien web. Je stocke ce lien dans une variable. Je veux maintenant stocker ce lien web dans la base de données locale, et j'utilise donc 'userdefaults'. Mais lorsque je réintroduis ce lien web dans l'autre "viewcontroller", mon lien web a changé et la page web ne s'est pas ouverte.

let weblink = datastring["Web_Link"] as! String
UserDefaults.standard.set(weblink, forKey: "Link") 

Pour ces derniers, j'utilise ceci

UserDefaults.standard.set(url: URL?, forKey: String) 

et dans un autre "viewcontroller

let url = UserDefaults.standard.url(forKey: "Link") 

Pour ces derniers, j'ai utilisé

let url = UserDefaults.standard.url(forKey: String)

et mon autre code est

 let request = URLRequest.init(url: url!)

 self.webview.load(request)

mon exemple d'url est " https://example.com/ "

mais lorsque je reviens à ce moment-là, l'url est

'https:/example.com'

ma page web ne peut donc pas s'ouvrir. J'utilise wkwebview.

4voto

elbert rivas Points 332

Vous stockez l'url sous forme de chaîne de caractères et la récupérez ainsi.

let url = UserDefaults.standard.string(forKey: "Link")

1voto

Natarajan Points 2261

Il semble que vous stockez String dans les valeurs par défaut de l'utilisateur et en essayant d'obtenir une valeur de URL de UserDefaults. Essayez donc de procéder comme suit.

let weblink = datastring["Web_Link"] as! String

if let URL = URL(string: weblink){

    UserDefaults.standard.set(URL, forKey: "Link")
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X