61
задан 28 March 2018 в 11:53

1 ответ

Другой способ сделать это состоит в том, чтобы создать расширение на URL, чтобы возвратить компоненты и затем создать расширение на [URLQueryItem] для получения значения от queryItems.

extension URL {
    var components: URLComponents? {
        return URLComponents(url: self, resolvingAgainstBaseURL: false)
    }
}

extension Array where Iterator.Element == URLQueryItem {
    subscript(_ key: String) -> String? {
        return first(where: { [110].name == key })?.value
    }
}

И это - пример того, как это могло использоваться:

if let urlComponents = URL(string: "http://mysite3994.com?test1=blah&test2=blahblah")?.components,
    let test1Value = urlComponents.queryItems?["test1"] {
    print(test1Value)
}
1
ответ дан 31 October 2019 в 14:50

Другие вопросы по тегам:

Похожие вопросы: