我有一个带有按钮,索引和按下按钮时调用的函数的视图控制器,下面是代码示例:
查看控制器:
func buttonPressed(){
index++
}
然后我有一个类,我想从View Controller
访问和打印索引类别:
print("Index is \(ViewController().index)")
显然这不起作用,有谁知道我怎么能访问它?我无法真正实例化它,因为它的ViewController以及它不会是同一个索引。我认为。
答案 0 :(得分:4)
您可以将索引保存到NSUserDefaults或plist文件。尝试使用getter和setter使其自动保留,如下所示:
Xcode 8.3.3•Swift 3.1.1
extension UserDefaults {
var indexA: Int {
get {
return integer(forKey: "indexA")
}
set {
set(newValue, forKey: "indexA")
}
}
}
用法:
加载它
let indexA = UserDefaults.standard.indexA
设置/更改
UserDefaults.standard.indexA = 10
答案 1 :(得分:0)
你应该:
为index
添加set public或internal修饰符,以便在类外使用
创建ViewController
从实例
中检索index
let vc = ViewController()
print("index: \(vc.index)")
答案 2 :(得分:0)
let vc = ViewController()
print("index: \(vc.index)")
不正确,因为vc中没有viewController,它包含你点击的按钮。它必须再次声明
如果你有一个ViewController单例(例如:viewcontrollerInstall
)并放在任何地方,你可以访问
在ViewDidLoad
的{{1}}中,您设置了ViewController
在你的新课堂电话中:
viewcontrollerInstall = self
答案 3 :(得分:0)
尝试将具有索引和按钮的视图控制器的引用传递给要访问它的类。
从那里开始,您可以访问该类中该视图控制器的相同索引值和其他属性。