【发布时间】:2010-12-30 09:21:31
【问题描述】:
在这段代码中:
- (void)connectionDidFinishLoading:(NSURLConnection *)connection {
//---initialize the array---
listOfJMovies = [[NSMutableArray alloc] init];
listOfJMoviePosters = [[NSMutableArray alloc] init];
tmdbMovies = [[NSArray alloc] init];
posters = [[NSArray alloc] init];
thumbs = [[NSArray alloc] init];
//---set the title---
self.navigationItem.title = @"Movies";
NSString *responseString = [[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding];
//NSLog(responseString);
SBJsonParser *json = [[SBJsonParser new] autorelease];
tmdbMovies = [json objectWithString:responseString error:nil];
for (id movie in tmdbMovies) {
[listOfJMovies addObject:[movie objectForKey:@"name"]];
NSLog(@"Name: %@", [movie objectForKey:@"name"]);
//[listOfJMoviePosters addObject:[obj objectForKey:@"posters"]];
//NSLog(@"%@", [obj objectForKey:@"posters"]);
posters = [movie objectForKey:@"posters"];
for (id image in posters) {
NSLog(@"image: %@", [image objectForKey:@"image"]);
thumbs = [image objectForKey:@"image"];
for (id url in thumbs) {
NSLog(@"Size: %@", [url objectForKey:@"size"]);
//NSLog(@"blah");
//[listOfJMoviePosters addObject:[url objectForKey:@"size"]];
}
}
}
[[self tableView] reloadData];
[responseString release];
[connection release];
[responseData release];
}
这一行:NSLog(@"Size: %@", [url objectForKey:@"size"]);
导致应用崩溃并抛出以下错误:
2010-12-30 00:33:29.730 FlixIt[33132:207] -[NSCFString objectForKey:]:无法识别的选择器发送到实例 0x4e50f00 2010-12-30 00:33:29.732 FlixIt[33132:207] * 由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:'-[NSCFString objectForKey:]:无法识别的选择器发送到实例 0x4e50f00 '
【问题讨论】:
标签: objective-c json ios4