怎么传值到下一个控制器

图片描述

我点击图中的任一个cell,然后跳转到第二个控制器,显示详细信息,并且播放视频,这些值怎么把它传到第二个控制器??

阅读 3.1k
2 个回答
// controller a
@interface ControllerA : UIViewController
{
    // 你的文章列表
    @property(nonatomic, strong)NSMutableArray *list;
}

@implementation ControllerA 
{
    // 文章点击时候 传index给事件
    -(void)btnClick:(int)index
    {
        ControllerB *cb = [[ControllerB alloc]init];
        // 这样传值就行了
        cb.index = index;
    }
}

// controller b
@interface ControllerB : UIViewController
{
    // 用属性存储值 
    @property(nonatomic, copy) NSString * _id;
}

@implementation ControllerA 
{
    // viewdidload中根据index加载内容
}

你可以在didSelect方法中获取到当前点击的cell,然后把cell的属性赋给DetailController的属性

  • (void)tableView:(UITableView )tableView didSelectRowAtIndexPath:(NSIndexPath )indexPath{
    NSLog(@"选中cell");
    UITableViewCell * cell = [tableView cellForRowAtIndexPath:indexPath];

DetailViewController *detailViewController = [[DetailViewController alloc] init];
detailViewController.xxxproperty = cell.xxxxx;
[self.navigationController pushViewController:detailViewController animated:YES];
}

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题