gpt4 book ai didi

arrays - 在 Swift 中通过 segue 传递后访问数组值的问题

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

我通过 segue 传递一个数组,然后尝试使用该值来设置计时器的延迟。虽然 Array 的值可以显示在 ViewDidLoad 中,但是当我尝试从任何其他函数访问它时,它看起来是空的,我无法弄清楚发生了什么。我确定我错过了一些明显的东西,但我被卡住了,非常感谢任何建议

我已经在 Viewdidload 中显示了数组的计数和值,这很好,但是当我尝试从任何函数访问时,它们不显示。我复制了不起作用的代码。希望澄清一下——我有 2 个 View Controller ——第一个是 selectionViewController.swift,另一个是 viewController.swift,两者都是在 Storyboard中创建的,带有一个“显示”segue,指向带有标识符 sendValues 的 viewController.swift。最初显示 viewController Storyboard,然后我添加了 selectionViewController - 我在 Storyboard中拖动箭头以首先显示这个。

我已经复制了下面的相关代码片段:类 selectionViewController 中将值发送到 viewController 的代码是:

class SelectionViewController: UIViewController, UIPickerViewDelegate, UIPickerViewDataSource, UITextFieldDelegate {



var colourArray = [String]()

@IBAction func submitButton(_ sender: UIButton) {

self.performSegue(withIdentifier: "sendValues", sender: self)

}

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {

if segue.identifier == "sendValues" {
let vc = segue.destination as! ViewController

vc.colourArray = colourArray


}
}

//View Controller Class

class ViewController: UIViewController, AVAudioPlayerDelegate {



var colourArray: [String]?
var passedArrayCount : Int?

override func viewDidLoad() {
super.viewDidLoad()

passedArrayCount = colourArray!.count
print("count is \(passedArrayCount)")

// the Array values and count display here
}

@IBAction func btnTimer(_ sender: UIButton) {
print(passedArrayCount)
// Array count now displays 0
}
}

我检查了类的其余部分,值没有在任何地方重置,所以我不明白为什么值被成功传递,如 Viewdidload 所示,但不是在函数之后

最佳答案

试试这个

var colourArray: [String] = []
var passedArrayCount : Int?

class ViewController: UIViewController, AVAudioPlayerDelegate {

override func viewDidLoad() {
super.viewDidLoad()

passedArrayCount = colourArray!.count
print("count is \(passedArrayCount)")

// the Array values and count display here
}

@IBAction func btnTimer(_ sender: UIButton) {
print(passedArrayCount)
// Array count now displays 0
}
}

关于arrays - 在 Swift 中通过 segue 传递后访问数组值的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57664642/

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