2017-12-11 7 views
0

私はiOSプロジェクトでFirebaseのダイナミックリンクを実装しています。正常に動作しており、iOSのホーム画面が正しく開かれています。しかし、今私はURLから値を抽出し、URLに基​​づいて適切な画面を開きたいと思います。例えばiOSは逆リンクURLからパーマリンクを展開します

:私は「ホット・取引・オンライン」を取得したいと思い、このURLで https://www.dd.com/forums/hot-deals-online/topics/smart-tv-carniva

と私は上でその画面を開くには、コントローラを表示するために渡します「スマート・テレビ・carniva」パーマリンクapp

誰かが私にこのための最良のアプローチを提案できますか?

答えて

1

最短はpathURLComponentsのオブジェクトにアクセスすることです:

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配列へのインプレース変換が行われます。

+0

この問題は他のURLをどのようにマップするのですか? –

+0

どういう意味ですか? – Hexfire

+0

https://www.dd.com/users/1のようなURLがあればどうすればいいですか?私は配列を取得しますが、どの画面を開くべきかをどのように知るべきですか? –

関連する問題