iOS swift从deeplink URL中提取永久链接

时间:2017-12-11 07:54:00

标签: ios swift

我正在iOS项目中实施Firebase动态链接。它工作正常,它正在打开我的iOS主屏幕。但是现在我想从url中提取值并根据url打开相应的屏幕。

例如:       https://www.dd.com/forums/hot-deals-online/topics/smart-tv-carniva

在这个网址中我想获得“热门优惠 - 在线”和“智能电视节目”永久链接,我将传递给视图控制器在应用上打开该屏幕

有人可以建议我最好的方法。

1 个答案:

答案 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数组的就地转换。