我有一个结构:
struct User {
var name: String = ""
}
然后我在视图控制器 1 中创建了一个结构体实例
var user = User()
在视图控制器 1 中为其分配了一个值
user.name = "John"
如何使用结构实例在另一个视图控制器中复制值"John"? 我的主要目标是在 MVC 设计模式中使用结构。
这可以通过多种方式完成。首先,我想说的是,如果您要将其传递给细节视图控制器,请使用prepreForSegue方法。
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "someSegue" {
let vc = segue.destination as! YourDetailVC
vc.user = self.user
}
}
对于传递数据的其他方式,您应该研究回调、委派和通知中心。
此外,结构会自动附带成员初始值设定项。因此,您可以按如下方式对其进行初始化:
let user = User(name: "John")