2017-02-02 10 views
1

им работать на WKWebView и когда я загрузить URL без параметров, как это работает отличнонеожиданно нашли ноль в то время как разворачивание необязательное значение WKWebView получить параметры

func loadAddress(lat:Double,lng:Double){ 
    let requestURL = NSURL(string:"http://url.com/dev2/billboard/geo") 
    let request = NSURLRequest(url: requestURL as! URL) 
    webview.load(request as URLRequest) 
} 

, но я хочу, чтобы отправить местоположение пользователя с параметрами GET, как это

func loadAddress(lat:Double,lng:Double){ 
    let requestURL = NSURL(string:"http://url.com/dev2/billboard/geo/\(lat)/\(lng)") 
    let request = NSURLRequest(url: requestURL as! URL) 
    webview.load(request as URLRequest) 
} 

он показывает эту ошибку:

fatal error: unexpectedly found nil while unwrapping an Optional value 2017-02-02 16:43:36.645898 pixel[5112:1996136] fatal error: unexpectedly found nil while unwrapping an Optional value

благодаря является продвижение

+0

Если первая функция работает, тогда возникает запрос с запросомURL. В случае второй функции проверьте, существует ли URL-адрес или нет, чтобы загрузить его в браузере Safari iPhone. –

+0

Можете ли вы пройти через свою функцию и, пожалуйста, проверьте, какое значение получает 'nil'? Это 'requestURL'? И попробуйте использовать новые версии API без префиксов NS. – Kie

ответ

2

Попробуйте кодировать ваш код и использовать родной тип типа URL и URLRequest вместо NSURL и NSURLRequest.

let stringUrl = "http://url.com/dev2/billboard/geo/\(lat)/\(lng)" 
if let encodedURL = stringUrl.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed), 
    let url = URL(string: encodedURL) { 
     webview.load(URLRequest(url: url)) 
} 

Edit: Я попытался URL, которые вы добавили в комментарии он показывает совершенно когда вы закодировать его с urlQueryAllowed. Возможно, вы не добавили NSAppTransportSecurity с вашим файлом info.plist, попробуйте добавить один раз, и он тоже будет работать для вас.

<key>NSAppTransportSecurity</key> 
<dict> 
    <key>NSAllowsArbitraryLoads</key> 
    <true/> 
</dict> 
+1

Я думал почти то же самое, что двойники, введенные в URL-адрес, испортили URL-формат и, следовательно, URL (string :) return nil. – Kie

+0

@Kie Да и там для этого нужно кодировать url :) –

+0

, когда я печатаю (url.absoluteString) URL-адрес, который он показывает, но проблема остается такой же. –

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

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