2015-09-13 3 views
0

Здравствуйте, я использую WebView для загрузки определенного URL-адреса из строки, но в WebView, но он возвращается как ноль.NSURL возвращает nil в webview

var linkobject = "http://prf.hn/click/camref:1011l62a/creativeref:1100l4014/destination:http://nl.tommy.com/Tommy-Cares-Tas/C827884386,nl_NL,pd.html#!i=0&color=000&size=OS&utm_source=performancehorizon&utm_medium=affiliate&utm_campaign=FW15&utm_term=(UserID)&utm_content=feed&cmpid=ch:affiliate|dp:ecom|so:performancehorizon|cp:fw15|co:uk|pi:(UserID)|cr:feed&LGWCODE=8718937448230;88093;5350?LGWCODE=8718937448230;105153;6183" 
if let url = NSURL(string:linkobject) { 
    var req = NSURLRequest(URL: url) 
    if count(url.description) != 0 { 
     self.webView.contentMode = UIViewContentMode.ScaleAspectFit 
     self.webView.loadRequest(req) 
    } 
} 

Это мой URL: http://prf.hn/click/camref:1011l62a/creativeref:1100l4014/destination:http://nl.tommy.com/Tommy-Cares-Tas/C827884386,nl_NL,pd.html#!i=0&color=000&size=OS&utm_source=performancehorizon&utm_medium=affiliate&utm_campaign=FW15&utm_term=(UserID)&utm_content=feed&cmpid=ch:affiliate|dp:ecom|so:performancehorizon|cp:fw15|co:uk|pi:(UserID)|cr:feed&LGWCODE=8718937448230;88093;5350?LGWCODE=8718937448230;105153;6183

Теперь я уже прочитал в официальной документации, что этот URL не применяется со стандартом RFC 2396, поэтому он дает мне всухую объект.

Класс NSURL не создает новый объект NSURL, если пройденный путь плохо сформирован; путь должен соответствовать RFC 2396

https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/NSURL_Class/

What's RFC 2396?

ли кто-нибудь знает способ, как я мог загрузить этот тип URL в моем WebView или обойти или переопределить NSURL в любом случае так моя строка может быть преобразованы в NSURL? Любовь к услышанным предложениям, изменение URL-адреса не является вариантом, потому что оно поставляется как партнерский URL-адрес.

+0

, какая линия, которая возвращается в ноль – Lamar

ответ

-1

Проблема с вашим кодом в том, что URL-адрес занимает много времени, поэтому он продолжает сбой, как только приложение загружается.

Решение: В ожидании, пока URL не заканчивает загружать затем положить его обратно в основную очередь

var stringUrl = "http://nl.tommy.com/Tommy-Cares-Tas/C827884386,nl_NL,pd.html?utm_source=performancehorizon&utm_medium=affiliate&utm_campaign=FW15&utm_term=(kledingnl)&utm_content=1100l4014&cmpid=ch:affiliate%7Cdp:ecom%7Cso:performancehorizon%7Ccp:fw15%7Cco:uk%7Cpi:(kledingnl)%7Ccr:1100l4014#!color%3D000%26size%3DOS" 
    var url = NSURL(string: stringUrl) 
    var request = NSURLRequest(URL: url!) 
    dispatch_async(dispatch_get_main_queue()){ 
     webView.loadRequest(request) 
    } 

 Смежные вопросы

  • Нет связанных вопросов^_^