Swift:"在展开可选值时为零",这不是零

Dim*_*lov 0 string nsurl optional ios swift

我的字典String是图像url的.当我尝试NSURL从这个Strings 创建对象时,编译器抛出一个错误"致命错误:在解开一个Optional值时意外地发现了nil" .我搜索了这个问题并没有找到解决方案.每个人都说"你的变量是零".但我的变量不能为零,我的代码日志也显示.

这是我的代码:

var article: [String:String!]!
...
//viewDidLoad method

let imageURLString : String = article["image"]!

println(imageURLString) // log: http://domain.com/img/path.jpg

let imgURL : NSURL = NSURL.URLWithString(imageURLString) // error here
Run Code Online (Sandbox Code Playgroud)

我收到"致命错误:在展开Optional值时意外发现nil"

问题出在哪儿?希望有人可以提供帮助.

Jes*_*sak 7

如果URL无效,NSURL的URLWithString可能会失败(因此返回nil).尝试:

let imgURL: NSURL? = NSURL.URLWithString(imageURLString) 
Run Code Online (Sandbox Code Playgroud)

然后,您可以在使用之前测试imgURL以查看它是否为零.

  • 例如,如果在"http://domain.com/img/path.jpg"之前或之后存在空格字符或其他空格(这看起来像是有效的URL),就会发生这种情况. (4认同)