XZ_iOS 之 替换 url中的参数的值

需求如下:

用户登录之后,需要刷新web页,这时候需要替换UserId和time的值。

URL如下:

http://***?time=***&appname=***&value=***&userId=**

直接获取链接的query值,修改即可,代码如下:

/// 修改 query 中参数的值
func changeValue(webUrl: String) -> URL {
        guard let url = NSURL(string: webUrl), let urlComponents = NSURLComponents(url: url as URL, resolvingAgainstBaseURL: false) else
        { return NSURL(string: webUrl)! as URL }
        
        for i in 0..<(urlComponents.queryItems?.count ?? 0) {
            
            if urlComponents.queryItems?[i].name == "userId" {
                urlComponents.queryItems?[i].value = User.userId
            }
            
            let timeStr = "\(Date().nowTimeinterval())"
            
            if urlComponents.queryItems?[i].name == "time" {
                urlComponents.queryItems?[i].value = timeStr
            }
            
            if urlComponents.queryItems?[i].name == "value" {
                urlComponents.queryItems?[i].value = "value"
            }
        }
        
        return urlComponents.url!
        
        print("--------webUrl:", webUrl, "urlComponents:", urlComponents)
    }

其中,urlComponents.url! 就是修改了这些参数之后的值。time=***&appname=***&value=***&userId=**

urlComponents.queryItems 是[{"time":"***"}, {"appname":"***"},{"value":"***"},{"userId":"***"}]

发布了208 篇原创文章 · 获赞 52 · 访问量 14万+

猜你喜欢

转载自blog.csdn.net/understand_XZ/article/details/89512621