【发布时间】:2017-03-23 05:02:09
【问题描述】:
大家好,我正在使用 swift 2.2 开发一个应用程序,我在第一个视图控制器中声明了一个变量,我想在第二个视图控制器中访问它。我搜索了其他堆栈溢出答案,没有任何支持。
在我的第一个视图控制器中:
class firstViewController: UIViewController{
var timer:nstimer?
//performed some functions using nstimer
}
现在我想停止计时器,并在第二个视图控制器中保留按钮操作,所以我想访问变量 timer。如何访问??
我在堆栈溢出之前搜索了要求使用 prepare for segue 的答案,但已经获得了一些连接并对其他控制器执行了 segue。
现在正在寻找访问该变量的解决方案。谁能帮我解决这个问题??
提前致谢。
【问题讨论】:
-
使用情节提要标识符并准备segue会对项目造成任何问题??
-
因为我使用了许多视图控制器并且在视图控制器之间使用了许多 segues
-
不!它不会产生任何问题。在 prepareforsegue 中,您可以检查标识符名称。但请记住,两个标识符名称不应相同。
-
无需从第二个 ctrlr 访问 timer var。设置一个委托,第一个 ctrlr 中的实现停止计时器。所以从第二个 ctrlr 调用 delegate.stopTimer()。顺便说一句,移动 Swift 3 更好