我有一个ViewControllerA,在我的情况下它有大约15个按钮,它们代表级别,当按下一个级别时它会转移到ViewControllerB.现在手动ctrl +拖动并为每个按钮创建segue是没有意义的.我想知道一个按钮如何切换到ViewControllerB并且有一个唯一的标识符,然后将一个对象传递给ViewControllerB,以识别用户按下哪个级别.我还想指出我有一个推视控制器.到目前为止,我失败的尝试之一是按住Ctrl键并拖动所有按钮并创建一个名为的方法:(在我的情况下,按钮标题是级别编号)
- (IBAction)buttonPressed:(UIButton *)sender { [self performSegueWithIdentifier:[sender currentTitle] sender:self]; }
之后我称之为prepareForSegue:segue sender:sender
方法.老实说我是iOS开发的新手.任何有用的教程或文章对我来说都很棒.提前感谢所有帮助者.
你的尝试失败了.您只需要在IB中直接从控制器到VCB设置的单个segue的一个标识符.在你的action方法中,调用所有按钮,执行此操作(注意我在sender参数中传递了按钮):
- (IBAction)buttonPressed:(UIButton *)sender { [self performSegueWithIdentifier:@"MySegueIdentifier" sender:sender]; }
然后在prepareForSegue中,您可以使用sender参数获取按钮的标题:
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(UIButton *)sender { NSString *title = sender.currentTitle; // do what you need with the title }