2

我正在使用故事板和MasterView布局构建一个项目。我正在尝试UITableView从 JSON 文件中获取数据(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];

然后在connectionDidFinishLoading:(NSURLConnection *)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 文件中。

4

1 回答 1

4

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

如果您不想使用任何外部框架,您可以尝试JSONObjectWithData:options:error:NSJSONSerializationiOS 5.0 开始提供的课程。

[connection release]
NSError *jsonError = nil;
NSDictionary *topHitsDictionary = [NSJSONSerialization JSONObjectWithData:responseData options:0 error:&jsonError];
NSArray *topHitsArray = [topHitsDictionary valueForKey:@"title"];
// ...
[responseData release];
于 2012-10-10T22:25:27.110 回答