【发布时间】:2015-01-01 13:47:35
【问题描述】:
在一个名为 Menu 的文件中,我有这个:
class Menu: UIViewController {
var no_of_swipes = 99
@IBAction func pressedThreeSwipes(sender: AnyObject) {
no_of_swipes = 3
}
}
在另一个文件中我有这个: 类游戏:UIView {
func didMoveToView(view: UIView) {
/* Setup your scene here */
var swipes = Menu()
var no_of_swipes: Int = 0 {
didSet {
println("\(swipes.no_of_swipes) should be three")
}
}
}
但是,当我按下菜单中的按钮时,会触发移动到第二个文件的 segue。控制台声明no_of_swipes = 0。在 // 第 x 行中,如果我删除 = 0,我会收到有关具有初始化程序的错误。所以,我的问题是:为什么没有 no_of_swipes 3?我认为这是获得 no_of_swipes 或观察者的问题。
提前谢谢你
【问题讨论】:
-
您访问的不是
Menu的同一个实例,而是创建一个新实例。要在不同的视图控制器中访问Menu的实例,您可以将其传入。 -
@LyndseyScott 请解释如何做到这一点。
-
您已经声明了两次
no_of_swipes。它们是不同的变量。省略最上面的那个。 -
@ThomasKilian 请您提供更详细的答案。谢谢。
标签: ios xcode button swift observers