使用空变量在swift中初始化结构并使其可通过更多viewcontrollers访问的最佳解决方案是什么?我知道如何在两个viewcontrollers之间传递数据,如:
let myVC = storyboard?.instantiateViewControllerWithIdentifier("SecondVC") as! SecondVC
myVC.stringPassed = myLabel.text!
但是还有另一种优雅的解决方案可以让它可以访问整体视图。
答案 0 :(得分:0)
一种方法是使用静态变量创建结构。
struct CommonValues {
static var text: String = ""
}
答案 1 :(得分:0)
创建swift文件并添加以下代码
您应该创建sharedInstance
,以便每次都不会初始化
public class AppGlobalManager {
// MARK: - Init
private init() {}
// MARK: - Var
static let sharedManager = AppGlobalManager()
var name:String = ""
}
现在只需
就可以在任何地方访问它AppGlobalManager.sharedManager.name
注意:使用此方法将数据从viewcontroler传递到视图控制器不是一个好习惯。您可以将此用于某些全局级别对象,例如您可以在此处保留登录用户信息。注销时清除它
希望它有用