如何通过View Controllers之间的按钮操作传递参数?

时间:2016-01-08 17:07:40

标签: ios uiviewcontroller

Objective-C的新手,并致力于媒体播放器项目。我目前有2个视图控制器:

  • MenuViewController
  • PlayerViewController

MenuViewController我有一个按钮操作,可以创建PlayerViewController的实例:

- (IBAction)showPlayer:(id)sender
{
    PlayerViewController * vc = [[PlayerViewController alloc] initWithNibName:@"PlayerViewController" bundle:nil];


    [self presentModalViewController:vc animated:YES];

}

按下按钮并加载ViewPlayerController后,它会自动开始播放视频。我想要做的是在MenuViewController上创建一些按钮并通过每个按钮传递参数(例如:“video1”,“video2”,“video3”等)然后能够使用if我PlayerViewController中的语句,以便检查参数并根据按下的按钮播放视频。是否可以将参数附加到vc?

2 个答案:

答案 0 :(得分:3)

  

我想做的是在MenuViewController上创建一些按钮并通过每个按钮传递参数

只需在创建PlayerViewController后设置一些属性,然后再显示它:

- (IBAction)showPlayer:(id)sender
{
    PlayerViewController * vc = [[PlayerViewController alloc] initWithNibName:@"PlayerViewController" bundle:nil];

    vc.someProperty = @"video1";

    [self presentModalViewController:vc animated:YES];
}

您可以在呈现之前根据需要进行任何配置vc,包括调用各种方法,为其提供所需的数据等。

答案 1 :(得分:1)

在你的PlayerViewController中有一个名为videoIdentifier的属性,并将其设置为MenuViewController按钮的动作方法

- (IBAction)showPlayer:(id)sender
{
PlayerViewController * vc = [[PlayerViewController alloc] initWithNibName:@"PlayerViewController" bundle:nil];
vc.videoIdentifier = sender.title

[self presentModalViewController:vc animated:YES];

}

在你的PlayerViewController中比较if语句下的videoIdentifier属性来播放你想要的视频。