美文网首页
Swift Url编码

Swift Url编码

作者: CocoaJason | 来源:发表于2021-04-16 14:20 被阅读0次
func generateUrlWithParams(_ parameters:[String: Any]) -> String {
    //默认URL
    var urlStr = "demo://"
    var flag = true
    let generalDelimitersToEncode = ":#[]@" // does not include "?" or "/" due to RFC 3986 - Section 3.4
    let subDelimitersToEncode = "!$&'()*+,;="
    var allowedCharacterSet = CharacterSet.urlQueryAllowed
    allowedCharacterSet.remove(charactersIn: "\(generalDelimitersToEncode)\(subDelimitersToEncode)")
    for (key,value) in parameters {
        var anyValue: Any = value
        if let value = value as? String{
            anyValue = value.addingPercentEncoding(withAllowedCharacters: allowedCharacterSet) ?? ""
        }
        
        if flag{
            flag = false
            urlStr += "?" + key + "=\(anyValue)"
        }else{
            urlStr += "&" + key + "=\(anyValue)"
        }
    }
    return urlStr
}

相关文章

网友评论

      本文标题:Swift Url编码

      本文链接:https://www.haomeiwen.com/subject/qxjelltx.html