Swift 实现从 URLString 中截取参数
Swift 实现从 URLString 中截取参数
在 iOS 开发中我们经常需要获取 URLString 中的参数值。以下方法利用 URLComponents
实现:
实现方法
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
extension String {
// 从 URLString 中截取参数
var urlParameters: [AnyHashable: Any]? {
// 解析url
guard let urlComponents = URLComponents(string: self), let queryItems = urlComponents.queryItems else {
return nil
}
var parameters: [AnyHashable: Any] = [:]
// 遍历queryItems获取每一项参数的键值对
queryItems.forEach { (item) in
// 判断是否有相同的key
if let existValue = parameters[item.name], let value = item.value {
// 将相同key的值存入数组中
if var existValue = existValue as? [Any] {
existValue.append(value)
parameters[item.name] = existValue
} else {
parameters[item.name] = [existValue, value]
}
} else {
parameters[item.name] = item.value
}
}
// 返回解析后的参数字典
return parameters
}
}
Demo 下载地址:LPURLParse。
结语
一个很简单的 Demo,就此完成。
本文由作者按照 CC BY 4.0 进行授权