我正在使用 OAuthSwift 库对我的应用程序的用户进行身份验证,但某些东西似乎不起作用,因为它会抛出错误。经过一些调试后,这一行似乎出错了:parameters = url.query!.parametersFromQueryString()
它确实有 url 查询字符串(设置为 url.query),但它以某种方式无法解析 parametersFromQueryString()。其他人有这个问题(这个库)吗?你是如何解决的?
“parametersFromQueryString”函数可以在这里找到:https://github.com/dongri/OAuthSwift/blob/1babc0f465144411c0dd9721271f239685ce83a9/OAuthSwift/String%2BOAuthSwift.swift
最佳答案
创建 URL 类的扩展并粘贴此代码:
import Foundation
extension URL {
public var parametersFromQueryString : [String: String]? {
guard let components = URLComponents(url: self, resolvingAgainstBaseURL: true),
let queryItems = components.queryItems else { return nil }
return queryItems.reduce(into: [String: String]()) { (result, item) in
result[item.name] = item.value
}
}}
现在您可以从 URL 对象中获取这个计算属性的值,只需使用:
url.parametersFromQueryString
关于ios - Swift URL查询字符串获取参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31974558/