首页 > 代码库 > Swift Json 解析错误

Swift Json 解析错误

昨天在开发公司的ios程序时,遇见一个json解析的问题,并且是一个非常奇怪的问题。

因为原来的代码比较复杂,所以对代码进行了一些简化,具体代码如下:

服务器返回格式(PHP):

array(   array(‘title‘ => ‘新浪‘,‘address‘ => ‘http://www.sina.com.cn‘),   array(‘title‘ => ‘网易‘,‘address‘ => ‘http://www.163.com‘));

 

解析部分的代码如下:

var jsonData : AnyObject! =  NSJSONSerialization.JSONObjectWithData(data,                                options:NSJSONReadingOptions.MutableLeaves,error:nil); var links = [Link](); if let linksData = http://www.mamicode.com/jsonData as? NSArray {"title"] as String;             link.address = linkDict["address"] as String             links.append(link);       }    }}   

 本来这是非常简单的一个解析,并且执行到这里的时候也不会出现任何问题,但关键是执行完成后继续应用程序会报一个BAD_ACCESS的错误访问。

 

后面采用了多种方法,后面尝试了多种方法,偶然间在写另外一种方法时没有出错,检查两者发现差异在这段代码:

for linkData : AnyObject! in linksData

 不出错代码:

for linkData in linksData

 具体原因,因为我对swift也不是很熟悉,所以也不清楚。

 

但后面将所有的 :AnyObject!去除,发现程序没有出现BAD_ACCESS错误了。

记录一下,希望对于遇见这个问题的人所有帮助。

 

Swift Json 解析错误