Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

NSURL found nil while unwraping an Optional value

Anyone knows why am I getting

fatal error: unexpectedly found nil while unwrapping an Optional value

When i use

    let URL = NSURL(string: "https://roads.googleapis.com/v1/snapToRoads?path=-35.27801,149.12958|-35.28032,149.12907")!
like image 345
Guilherme Miranda Avatar asked Mar 05 '15 16:03

Guilherme Miranda


2 Answers

The | character its not a valid URL character so you must replace it with percent escape character. Encoding whole string will do that automatically for you

var stringUrl = "https://roads.googleapis.com/v1/snapToRoads?path=-35.27801,149.12958|-35.28032,149.12907"

let URL = NSURL(string: stringUrl.stringByAddingPercentEscapesUsingEncoding(NSUTF8StringEncoding)!)!
like image 124
Zell B. Avatar answered Nov 19 '22 02:11

Zell B.


Swift 4

I was trying with :

https://api.url.com/method?token=abcdfghijklmopqrst&command=>SSSXP10<&otherParam=12345678

And the '>' and '<' characters was giving me the error.

For the solution :

let objectUrl = URL(string:url.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed)!)
like image 42
Álvaro Agüero Avatar answered Nov 19 '22 02:11

Álvaro Agüero