gpt4 book ai didi

arrays - 准备 segue 数组时不包含任何数据(使用 swift)

转载 作者:可可西里 更新时间:2023-11-01 02:26:25 25 4
gpt4 key购买 nike

根据按下的按钮,我想将单词列表附加到开始时声明的变量 (pickedList)。当我开始准备 segue 时,它​​会覆盖已添加的内容,并且只使用在开始时添加的空数组。我可以在 prepare for segue bit 中附加项目,然后将这些项目转移过来,但这不是我想要的。我对编程非常陌生,搜索了很多但似乎找不到我要找的东西。提前致谢!

代码如下所示:

类 activeLiteracyOptionsViewController: UIViewController {

@IBOutlet weak var satpinButton: UIButton!
var pickedList = [String]()

@IBAction func whenSatpinButtonPressed(sender: AnyObject) {

pickedList += ["s","a","t","p","i","n"]
}

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {

let destinationViewController : flashcardsViewController = segue.destinationViewController as flashcardsViewController

destinationViewController.listToPlay = pickedList

最佳答案

我从没有以编程方式执行 segue 的情况下推断,您必须在 Interface Builder 中设置 IBAction 以及来自按钮的 segue。问题是 segue(和 prepareForSegue)可能会在 IBAction 被调用之前被调用。您应该删除该 segue,并创建一个您将从 IBAction 以编程方式调用的新的。

因此,您不应将 segue 附加到 Interface Builder 中的按钮,而应仅将按钮连接到 IBAction。然后,您可以通过 control 定义两个场景 Controller 之间的 segue - 从源场景上方栏中的 View Controller 按钮拖动到目标场景:

enter image description here

在场景之间添加了这个 segue(但不是从源场景中的按钮),你现在可以在 Interface Builder 中选择那个 segue,转到属性检查器,并给那个 segue 一个唯一的“ Storyboard标识符”:

enter image description here

如果你给它一个SegueToSecondScene的标识符,你现在可以定义你的IBAction来设置pickedList,然后以编程方式执行segue:

@IBAction func whenSatpinButtonPressed(sender: AnyObject) {
pickedList += ["s","a","t","p","i","n"]
performSegueWithIdentifier("SegueToSecondScene", sender: self)
}

关于arrays - 准备 segue 数组时不包含任何数据(使用 swift),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27697227/

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