gpt4 book ai didi

iphone - 如何检查使用了哪个segue

转载 作者:可可西里 更新时间:2023-11-01 03:08:35 27 4
gpt4 key购买 nike

我有两个 segue's 导致相同的 viewController。有 2 个按钮使用 2 个 segues 连接到同一个 viewController。在那个 viewController 中,我需要检查单击了哪个按钮。所以实际上我需要检查使用/预制了哪个segue。我如何在 viewControllers 类中检查它?我知道有 prepareForSegue 方法,但我不能将其用于我的目的,因为我需要将 prepareForSegue 放在两个按钮所在的类中,但我没有不希望它存在,但我希望它在 viewControllers 类中,因为我需要访问并设置该类中的一些变量。

最佳答案

您需要在第一个 View Controller 的 prepareforsegue 方法中设置第二个 View Controller 的变量。这是如何完成的:

- (void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if([segue.identifier isEqualToString:segueIdentifier1])
{
SecondViewController *secondVC = (SecondViewController *)segue.destinationViewController;
if(sender.tag == ...) // You can of course use something other than tag to identify the button
{
secondVC.identifyingProperty = ...
}
else if(sender.tag == ...)
{
secondVC.identifyingProperty = ...
}
}
}

然后您可以在第二个 vc 中检查该属性以了解您是如何到达那里的。如果您在 Storyboard中为 2 个按钮创建了 2 个 segue,那么仅 segue 标识符就足以设置相应的属性值。然后代码变成这样:

- (void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if([segue.identifier isEqualToString:segueIdentifier1])
{
SecondViewController *secondVC = (SecondViewController *)segue.destinationViewController;
secondVC.identifyingProperty = ...
}
else if([segue.identifier isEqualToString:segueIdentifier2])
{
SecondViewController *secondVC = (SecondViewController *)segue.destinationViewController;
secondVC.identifyingProperty = ...
}
}

关于iphone - 如何检查使用了哪个segue,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16167425/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com