我正在iOS项目中实施Firebase动态链接。它工作正常,它正在打开我的iOS主屏幕。但是现在我想从url中提取值并根据url打开相应的屏幕。
例如: https://www.dd.com/forums/hot-deals-online/topics/smart-tv-carniva
在这个网址中我想获得“热门优惠 - 在线”和“智能电视节目”永久链接,我将传递给视图控制器在应用上打开该屏幕
有人可以建议我最好的方法。
答案 0 :(得分:1)
最短的是访问path
对象的URLComponents
:
let url = "https://www.dd.com/forums/hot-deals-online/topics/smart-tv-carniva"
if let comps = URLComponents(string: url) {
var elements = comps.path.split(separator: "/").map(String.init)
// ["forums", "hot-deals-online", "topics", "smart-tv-carniva"]
// To build an url back, example:
var url = URL(string: comps.host!)!
url.appendPathComponent(elements[0])
url.appendPathComponent(elements[1])
// Result: www.dd.com/forums/hot-deals-online
}
P.S。调用.map(String.init)
进行从子串数组到正常String
数组的就地转换。