我正在使用 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-推荐答案 strong>
我认为教程使用的是 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/
|