gpt4 book ai didi

ios - Swift - prepareforsegue 值未传递到所需的 init

转载 作者:搜寻专家 更新时间:2023-10-31 19:35:18 24 4
gpt4 key购买 nike

Array 类型的值应该通过 ViewController1 中的 prepareForSegue 传递到 forceView2stiffView2。但是,当我在 ViewController2 中打印时,forceView2stiffView2 都是空的。

谁能解释为什么它在 required init 中时不起作用?

ViewController1

@IBAction func solve_Pressed(sender: AnyObject) {

self.performSegueWithIdentifier("Solve", sender: sender)

}

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

if (segue.identifier == "Solve") {
var svcViewController2 = segue.destinationViewController as springViewController2

svcViewController2.forceView2 = self.force
svcViewController2.stiffView2 = self.stiffness
}

ViewController2

var forceView2 = [Float]()
var stiffView2 = [Float]()
var forceB1 : Float
var forceB2 : Float
var SpringD : [Float]

required init (coder aDecoder: NSCoder) {

if(isCheckedGlobal) {
(forceB1,forceB2,SpringD) = calculateBoundary(&forceView2, stiffView2, springNum) }

else { println(forceView2)
println(stiffView2)
println(springNum)

SpringD = calculate(forceView2, stiffView2, springNum)
self.forceB1 = forceView2[0]
self.forceB2 = 0.0
}

最佳答案

初始化在您实例化 viewController 时完成,在这一行:var svcViewController2 = segue.destinationViewController as springViewController2。此时您的值尚未通过。

例如,您应该尝试在viewDidLoad 方法中println() 您的数据。

编辑:

我现在不能尝试,但你应该尝试这样的事情:

var forceView2 = [Float]()
var stiffView2 = [Float]()
var forceB1 : Float
var forceB2 : Float
var SpringD : [Float]

required init (coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
}

override func viewDidLoad() {
super.viewDidLoad()

if(isCheckedGlobal) {
(forceB1,forceB2,SpringD) = calculateBoundary(&forceView2, stiffView2, springNum) }

else {
println(forceView2)
println(stiffView2)
println(springNum)

SpringD = calculate(forceView2, stiffView2, springNum)
self.forceB1 = forceView2[0]
self.forceB2 = 0.0
}
}

如果需要,请不要忘记检查您的属性(可选、无、...)。

关于ios - Swift - prepareforsegue 值未传递到所需的 init,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28766699/

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