Swift 5.1 我可以访问另一个视图控制器中的结构实例声明吗?
Swift 5.1 Can I access a struct instance declaration in another view controller?
我有一个结构:
struct User {
var name: String = ""
}
然后我在视图控制器 1 中创建了一个结构实例
var user = User()
在视图控制器 1 中为其赋值
user.name = "John"
如何使用结构实例在另一个视图控制器中复制值 "John"?
我的主要目标是在 MVC 设计模式中使用结构。
这可以通过多种方式完成。首先我会说如果你将它传递给详细视图控制器然后使用 preparForSegue 方法。
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")
我有一个结构:
struct User {
var name: String = ""
}
然后我在视图控制器 1 中创建了一个结构实例
var user = User()
在视图控制器 1 中为其赋值
user.name = "John"
如何使用结构实例在另一个视图控制器中复制值 "John"? 我的主要目标是在 MVC 设计模式中使用结构。
这可以通过多种方式完成。首先我会说如果你将它传递给详细视图控制器然后使用 preparForSegue 方法。
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")