gpt4 book ai didi

ios - 问题 : Transferring View Controllers through segue depending on what button is pushed

转载 作者:行者123 更新时间:2023-11-28 11:11:35 25 4
gpt4 key购买 nike

我的问题是我有两个 View Controller ,我需要将字符串从一个 View Controller 传输到下一个 View Controller 。我已经从 segue 那里得到了它。实际问题是我需要在下一个 View Controller 中更改一个标签,以使其与前一个 View 中按钮的 currentTitle 相匹配。是的,有多个按钮。

我在 View 1 中的代码是这样的:

@IBAction func whichButtonWasClicked(sender: AnyObject) {
clickedButton = sender.currentTitle!!
}

// Segue - Pass the Data of which lesson was chosen
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
let DestViewController : Lesson = segue.destinationViewController as! Lesson
DestViewController.lessonPlan = clickedButton
}

我将所有 7 个按钮都连接到同一个 Action 。问题是当我传输 View Controller 时,并做...

print(lessonPlan)

它没有给我操作按钮的标题,因为我猜该操作是在 segue 之后。是的,我测试了它,它是在 segue 之后。所以它确实有效,只是有点延迟,我需要它成为 segue 的一部分。

最佳答案

由于您的 IBAction 在 prepareForSegue 之后被调用,因此您可以使用编程转场。

现在,您可能正在将一个 segue 从您的按钮拖到下一个 View Controller 。相反,您可以将 segue 从当前 View Controller 拖到下一个 View Controller (有关视觉指南,请参见 this answer)。这将创建一个程序化的 segue,您可以随时从代码中触发它。记得在 Xcode 中给 segue 一个标识符。

然后在whichButtonWasClicked中,按顺序设置clickedButton后调用self.performSegueWithIdentifier("identifier you setin Xcode", sender: sender)触发segue。通过这样做,您将确保在 segue 开始之前调用您的按钮操作。

关于ios - 问题 : Transferring View Controllers through segue depending on what button is pushed,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34700498/

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