2016-12-13 2 views
2

Bisher erstelle ich URL-Anforderung wie folgt aus:So richten Sie die Basis-URL global für die Alamofire-Anforderung ein?

Alamofire.request("https://httpbin.org/room/\(user)/\(password)", method: .patch) 

und jedes Mal, wenn ich eine Anfrage, ich Grund in jeder Anfrage stellen url haben erstellen. Kann ich die Basis-URL irgendwie als globale Konstante deklarieren? (hier https://httpbin.org/)

+0

Warum nicht Sie schreiben können MACRO oder deklariere die Basis-URL in einer konstanten Datei ?? –

+1

Ich nehme an, dass es für Sie offensichtlich ist, aber warum erstellen Sie nicht Ihre eigene Wrapper-Klasse? Klasse APIManager { statisch let shared = APIManager() func Anfrage (username: String, Passwort: String) { Alamofire.request ("https://httpbin.org/room/\(username)/\(password) ", Methode: .patch) } } APIManager.shared.request (Benutzername:" Benutzername ", Passwort:" Passwort ") –

Antwort

0

Sie eine konstante Datei mit einer Struktur wie dieser

// Constants.swift 
struct Api { 
    static let BaseUrl = "https://httpbin.org" 
} 

Dann auf Ihrem Controller können Sie einfach diesen Wert

Alamofire.request(Api.BaseUrl + "/room/\(user)/\(password)", method: .patch) 
+0

Warum Sie struct anstelle der Klasse deklarieren. –

+0

@KhawarIslam Der Hauptzweck der Struktur besteht darin, einige relativ einfache Datenwerte wie diese zu kapseln. Cf https://developer.apple.com/library/content/documentation/Swift/Conceptual/Swift_Programming_Language/ClassesAndStructures.html – tryp

Verwandte Themen