我正在使用 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 文件中。
我认为教程使用的是 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 |