我能够将json文件解析为tableview,但我无法弄清楚如何获取电影标题并将其作为标题传递给我的详细视图。 以下是我的方法
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"movieCell";
movieCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
id video = [self.model.videos objectAtIndex:indexPath.row];
NSString *rl = [video objectForKey:@"release_date"];
NSString *imageURL;
if ([[video objectForKey:@"poster_path"] class] != [NSNull class])
imageURL = [video objectForKey:@"poster_path"];
else
imageURL = @"icon.jpg";
if (rl != (NSString *)[NSNull null]){
NSString *dateStr = rl;
// Convert string to date object
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"yyyy-MM-dd"];
NSDate *date = [dateFormat dateFromString:dateStr];
// Convert date object to desired output format
[dateFormat setDateFormat:@"MM/YYYY"];
NSString *released = @"Released: ";
NSString *fullDate;
dateStr = [dateFormat stringFromDate:date];
fullDate = [NSString stringWithFormat:@"%@ %@", released, dateStr];
cell.videoDescriptionLabel.text = fullDate;
}
else{
cell.videoDescriptionLabel.text = @"N/A";
}
cell.videoTitleLabel.text = [video objectForKey:@"title"];
NSString* thumbnailURL = [NSString stringWithFormat:@"http://cf2.imgobject.com/t/p/w154%@",imageURL];
[cell.videoThumbnail setImageWithURL:[NSURL URLWithString:thumbnailURL] placeholderImage:[UIImage imageNamed:@"icon"]];
return cell;
}
#pragma mark - Table view delegate
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
DetailViewController *vc = [storyboard instantiateViewControllerWithIdentifier:@"boot"];
[self.navigationController pushViewController:vc animated:YES];
}
答案 0 :(得分:0)
id video = [self.model.videos objectAtIndex:indexPath.row];
vc.title = [video objectForKey:@"title"];
顺便说一句,您不应该使用id
作为上面video
的类型。
答案 1 :(得分:0)
假设您的videoTitle
中有一个名为DetailViewController
的属性,就像这样
@property (nonatomic, strong) NSString *videoTitle;
然后你就做了:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
DetailViewController *vc = [storyboard instantiateViewControllerWithIdentifier:@"boot"];
vc.videoTitle = [[self.model.videos objectAtIndex:indexPath.row] objectForKey:@"title"];
[self.navigationController pushViewController:vc animated:YES];
}