如何在Swift中将url.query转换为字典?

编程入门 行业动态 更新时间:2024-10-26 12:21:28
本文介绍了如何在Swift中将url.query转换为字典?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我有一个URL进入AppDelegate方法:

I have a URL coming in to the AppDelegate method:

func application(_ application: UIApplication, open url: URL, sourceApplication: String?, annotation: Any) -> Bool { }

URL看起来像 www.wesite/shareplace.html?placeid=123 .

如何将其转换为易于访问的字典?

How can it be converted to a dictionary for easy access?

我在某个网站上找到了一些代码,但是在Xcode 9中显示了一个错误:

I found some code on some website, but it's showing an error in Xcode 9:

extension URL { var queryDictionary: [String: AnyObject]? { return URLComponents(url: self, resolvingAgainstBaseURL: false)? .queryItems? .reduce([:], combine: { (var result: [String: AnyObject], queryItem) -> [String: AnyObject] in if queryItem.value?.containsString(",") ?? false { let array = queryItem.value?ponentsSeparatedByString(",") result[queryItem.name] = array } else { result[queryItem.name] = queryItem.value } return result }) } }

.reduce([:],组合:{(var result:[String:AnyObject],queryItem)->中的[String:AnyObject](变量结果)参数可能没有'var'指示符

.reduce([:], combine: { (var result: [String: AnyObject], queryItem) -> [String: AnyObject] in (var result) Parameters may not have the 'var' specifier

推荐答案

简单扩展

extension URL { var queryDictionary: [String: String]? { guard let query = self.query else { return nil} var queryStrings = [String: String]() for pair in queryponents(separatedBy: "&") { let key = pairponents(separatedBy: "=")[0] let value = pair ponents(separatedBy:"=")[1] .replacingOccurrences(of: "+", with: " ") .removingPercentEncoding ?? "" queryStrings[key] = value } return queryStrings } }

用法

let urlString = "www.youtube/video/4bL4FI1Gz6s?hl=it_IT&iv_logging_level=3&ad_flags=0&endscreen_module=s.ytimg/yt/swfbin/endscreen-vfl6o3XZn.swf&cid=241&cust_gender=1&avg_rating=4.82280613104" let url = URL(string: urlString) print(url!.queryDictionary ?? "NONE")

更多推荐

如何在Swift中将url.query转换为字典?

本文发布于:2023-10-30 07:56:02,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1542246.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:转换为   中将   字典   如何在   url

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!