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 = jsonData as? NSArray {
    for linkData : AnyObject! in linksData {
       if let linkDict = linkData as? NSDictionary {
             let link = Link();
             link.title = linkDict["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错误了。

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

 

posted @ 2014-10-30 12:48  蓝色-游骑兵  阅读(785)  评论(0编辑  收藏  举报