gpt4 book ai didi

ios - 发送要在另一个类中修改的变量?

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

如何从一个 View Controller 发送一个变量以供另一个 View Controller 修改?

我试过在 performSegue 中设置变量,但它没有被修改。

示例代码:

class VC1: ViewController{
var myVar: MyVar

....
prepare(for segue:...) {
let nextVC = segue.destination as! VC2
nextVC.var = myVar
}
....
}


class VC2: ViewController {
var var: MyVar

....
override func viewDidLoad() {
super.viewDidLoad()
var = MyVar("newValue")
}
}

这段代码执行后,VC1中myVar的值并没有改变为新的值。我相信它只会得到 myVar 的浅拷贝,而不是深拷贝。

我想要的东西可以快速实现吗?

最佳答案

Swift 中的类是按引用传递的,而结构是按值传递的。假设MyVar是一个类,需要修改类的属性,即:

myVar.property = "xyz"

而不是像您在问题中所做的那样定义类的新实例。

关于ios - 发送要在另一个类中修改的变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48666855/

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