0

我有一个 iOS 应用程序,它从服务器获取一些 JSON(以 NSData 的形式)。我使用 SBJson 框架的解析器将其转换为 NSDictionary 对象,如下所示:

SBJsonParser *parser = [[SBJsonParser alloc] init];
NSDictionary *content = [parser objectWithData:data];

然后我继续从“内容”等中读取对象。

现在,这个确切的代码使用旧版本的 SBJson 框架完美运行。节目很好。然后我实现了一个新版本的 SBJson 框架,当我尝试用“内容”做同样的事情时,我的程序突然崩溃了(更具体地说,我得到一个 EXC_BAD_ACCESS 错误)。

我的第一个想法是新的 SBJsonParser 生成的文件略有不同,因此我将新旧“内容”都记录到文本文件中,并从命令行对它们运行“diff”命令。它们完全相同。

因此,我所做的唯一更改是使用新的 SBJsonParser。我错过了什么?

4

1 回答 1

0

解决方案是稍微更改我的代码:

SBJsonParser *parser = [[SBJsonParser alloc] init];
NSDictionary *content = [[parser objectWithData:data] retain];
于 2011-12-12T15:19:37.610 回答