ios - 如何从 URL 中获取查询参数?
问题描述
我正在创建手动 Firebase 动态链接
如何获得 accessCode 的值?
extension URL {
func valueOf(_ queryParameterName: String) -> String? {
guard let url = URLComponents(string: self.absoluteString) else { return nil }
return url.queryItems?.first(where: { $0.name == queryParameterName })?.value
}
}
使用此扩展,查询项是link
、apn
和ofl
。
url.valueOf("link")
返回:
https://test.page.link/?link=https://test.page.link/register?accessCode=AA000000
我只需要AA000000
退货。
解决方案
由于link
是 url 的格式,URL
因此从它创建一个实例,然后使用如下方法获取accessCode
值,valueOf(_:)
if let link = url.valueOf("link"), let linkUrl = URL(string: link) {
let accessCode = linkUrl.valueOf("accessCode")
print(accessCode)
}
推荐阅读
- javascript - 如何使用 selectElementContents 和 getElementsByClassName() 来选择具有特定类的表格单元格?
- swift - 在 Swift 中声明 URL
- c# - 当 Windows 服务在 TopShelf 中将其状态更改为“正在运行”时,如何运行自定义操作?
- excel - 对公式结果值使用 AND 函数
- android - findViewById 在 RecyclerView 适配器中返回 null
- python - 几个列表的共同元素比较
- liquid - 如何在 Liquid 中将字符串更改为日期?
- python - 如何在 hvplot 中添加一条恒定线
- laravel - Laravel CPanel Cron Job 命令不运行
- powerbi - PowerBi - 将轴最大值设置为度量