OStack程序员社区-中国程序员成长平台

标题: 来自 JSON 文件的 iOS 6 NSDictionary [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 23:04
标题: 来自 JSON 文件的 iOS 6 NSDictionary

我正在使用 Storyboard和 MasterView 布局构建一个项目。我正在尝试从 JSON 文件中获取 UITableView 数据(http://afterimagedesign.tk/topHits.json 我不知道这是否是正确的 JSON,我是新手)所以我在 viewDidLoad()

responseData = [[NSMutableData data] retain];
NSURLRequest *topHitsRequest = [NSURLRequest requestWithURL:[NSURLURLWithString"http://afterimagedesign.tk/topHits.json"]];
[[NSURLConnection alloc] initWithRequest:topHitsRequest delegate:self];

然后在 connectionDidFinishLoadingNSURLConnection *)connection 方法中,我称之为:

[connection release]
NSString *responseString = [[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding];
[responseData release];
NSDictionary *topHitsDictionary = [responseString JSONValue];
NSArray *topHitsArray = [topHitsDictionary valueForKey"title"];

问题是(我认为)我收到此错误:“找不到实例方法'-JSONValue'。”这个我找了一段时间,我看到的所有教程都使用这个方法。是iOS 6还是其他?谢谢!

编辑:

如何将它添加到 UITableView?我试过 cell.textLabel.text = [self.topKpop objectAtIndex:indexPath.row]; 但我不断收到 SIGABRT 错误。我收到了 SIGABRT 错误,但这次是在 .m 文件中。



Best Answer-推荐答案


我认为教程使用的是 SBJson或类似的 JSON 解析器框架。

如果你不想使用任何外部框架,你可以试试JSONObjectWithDataptions:error:来自 NSJSONSerialization 类,它从 iOS 5.0 开始可用。

[connection release]
NSError *jsonError = nil;
NSDictionary *topHitsDictionary = [NSJSONSerialization JSONObjectWithData:responseData options:0 error:&jsonError];
NSArray *topHitsArray = [topHitsDictionary valueForKey"title"];
// ...
[responseData release];

关于来自 JSON 文件的 iOS 6 NSDictionary,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12829289/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4