iOS - 如何获取有关nil返回值的更多调试信息

时间:2012-06-06 09:07:21

标签: ios debugging nsdictionary null

在我的iOS 5.1应用程序中,我正在尝试将JSON文本文件加载到NSDictionary中。

NSString *filepath = [[NSBundle mainBundle] pathForResource:@"stuff" ofType:@"json"];
NSDictionary *stuff = [NSDictionary dictionaryWithContentsOfFile:filepath];

文件路径有效,文件存在但东西是nil,这意味着解码文件时出现问题(根据documentation)。

(如何)我可以获得有关[NSDictionary dictionaryWithContentsOfFile:] - 或任何类型的API调用 - 返回nil的原因的更多调试信息吗?

2 个答案:

答案 0 :(得分:4)

NSData阅读内容,然后使用+[NSPropertyListSerialization propertyListWithData:options:format:error:]

答案 1 :(得分:1)

正如您所说:您的文件包含JSON字符串。首先,你必须加载字符串然后你必须使用一些JSON库解析它。

E.g:

NSError *error;
NSString *content = [NSString stringWithContentsOfFile:filepath encoding:NSUTF8StringEncoding error:&error];  //error checking omitted
SBJsonParser *parser = [[SBJsonParser alloc] init];
NSDictionary *json = [parser objectWithString: content];