0
我有一個iOS應用程序從服務器獲取一些JSON(以NSData的形式)。我用的是SBJson框架的解析器將其轉換成一個NSDictionary對象,像這樣:JSON數據相同但程序失敗?
SBJsonParser *parser = [[SBJsonParser alloc] init];
NSDictionary *content = [parser objectWithData:data];
然後我繼續讀「內容」等對象
現在,這個確切的代碼使用完美的工作舊版本的SBJson框架。該計劃很好。然後我實現了一個新版本的SBJson框架,當我嘗試用'content'做同樣的事情時,突然間我的程序崩潰了(具體來說,我得到了一個EXC_BAD_ACCESS錯誤)。
我的第一個想法是,新的SBJsonParser產生了一個稍微不同的文件,因此我將新的和舊的「內容」記錄到文本文件中,並從命令行對它們運行「diff」命令。他們是完全一樣的。
所以,我做的唯一改變就是使用新的SBJsonParser。我錯過了什麼?
你可能是在釋放一個對象,它曾經是一個泄漏,或者可能您正在使用,如果你的'SBJsonParser'版本的API變更或錯誤自升級以來沒有更改過您的代碼。無論哪種方式[啓用殭屍](http://stackoverflow.com/questions/5386160/how-to-enable-nszombie-in-xcode)並追蹤它。 – Joe
當我啓用殭屍它不會崩潰,但是當我禁用他們它崩潰。在殭屍的分析器(儀器)中,沒有殭屍出現。 – Groppe
看起來像SBJSON框架中的錯誤,您可以嘗試替代方法,如JSONKit或> iOS 5 NSJSONSerialization類 –