&引用;致命错误:在展开可选值“时意外发现nil”;解析JSON时
注意:我想知道投票失败的原因。我认为这是一个格式正确的问题。我真的不在乎投票,因为我来这里只是为了学习,但不管是谁在没有解释的情况下投了反对票,都会让很多人不敢去问和学习。 我编写了下面的代码,用于从Web服务获取json,当我在新的“单视图项目”中运行json时,它可以正常工作,但它给出了&引用;致命错误:在展开可选值“时意外发现nil”;解析JSON时,json,swift,Json,Swift,注意:我想知道投票失败的原因。我认为这是一个格式正确的问题。我真的不在乎投票,因为我来这里只是为了学习,但不管是谁在没有解释的情况下投了反对票,都会让很多人不敢去问和学习。 我编写了下面的代码,用于从Web服务获取json,当我在新的“单视图项目”中运行json时,它可以正常工作,但它给出了**致命错误:当我在项目中添加可选值**时,在展开可选值时意外发现nil。您还可以从下面的屏幕截图中看到哪里出了问题 代码: 如何修复此问题?我认为您没有从服务器获取响应数据,这就是为什么会出现此错误 您需
**致命错误:当我在项目中添加可选值**
时,在展开可选值时意外发现nil。您还可以从下面的屏幕截图中看到哪里出了问题
代码:
如何修复此问题?我认为您没有从服务器获取响应数据,这就是为什么会出现此错误 您需要进行url编码。 你的代码
var serviceParam: AnyObject = NSUserDefaults.standardUserDefaults().objectForKey("key4news")!
var apiURL = "http://myIP/myWebService?search_text=\(serviceParam)"
需要像
var serviceParam: AnyObject = NSUserDefaults.standardUserDefaults().objectForKey("key4news")!
serviceParam = serviceParam.stringByAddingPercentEncodingWithAllowedCharacters(.URLHostAllowedCharacterSet())!
var apiURL = "http://myIP/myWebService?search_text=\(serviceParam)"
对于json,您必须确定日期格式。它可以是字典或数组。在您的例子中,可能json内容是数组格式的,但您强制强制转换为字典?格式化,使其返回nil。
var serviceParam: AnyObject = NSUserDefaults.standardUserDefaults().objectForKey("key4news")!
var apiURL = "http://myIP/myWebService?search_text=\(serviceParam)"
var serviceParam: AnyObject = NSUserDefaults.standardUserDefaults().objectForKey("key4news")!
serviceParam = serviceParam.stringByAddingPercentEncodingWithAllowedCharacters(.URLHostAllowedCharacterSet())!
var apiURL = "http://myIP/myWebService?search_text=\(serviceParam)"