Wie man eine URL in Swift für iOS richtig kodiert (URL-Encode)
Hallo zusammen! Ich bin neu in der Swift- und iOS-Entwicklung und habe ein Problem mit der URL-Kodierung. Ich muss eine GET-Anfrage an eine API senden, die Parameter in der Query-String akzeptiert. Einer der Parameter ist ein String mit Kyrillisch und Sonderzeichen (z. B. "Привет, мир! & тест").
Ich habe versucht, `addingPercentEncoding(withAllowedCharacters:)` zu verwenden, aber es funktioniert nicht richtig. Hier ist der Code, den ich geschrieben habe:
```swift
let baseURL = "https://api.example.com/search"
let query = "Привет, мир! & тест"
let encodedQuery = query.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed)
let fullURL = "\(baseURL)?q=\(encodedQuery)"
print(fullURL)
```
In der Konsole sehe ich, dass Leerzeichen in `%20` umgewandelt werden, aber das `&`-Zeichen bleibt unverändert. Dadurch parst der Server die Anfrage falsch, und ich erhalte einen Fehler. In der Dokumentation steht, dass `urlQueryAllowed` das `&`-Zeichen erlaubt, aber es trennt doch die Parameter! Wie kodiere ich die gesamte URL richtig, sodass alle Sonderzeichen escaped werden?