我是Swift的新手,我尝试在声明它的函数之外引用我的不可变变量string(0) ""
string(0) ""
string(19) "selected="selected""
string(0) ""
string(0) ""
。
这是不可变变量所在的函数:
let button1 = SKLabelNode(fontNamed: "Bulky Pixels")
我希望能够访问该功能中的button1:
func runMathsProblem(){
currentGameState = gameSate.mathSlove
if currentGameState == gameSate.mathSlove{
self.speed = 0
}
let button1 = SKLabelNode(fontNamed: "Bulky Pixels")
button1.name = "Button1"
button1.text = "1"
button1.fontSize = 110
button1.fontColor = SKColor.white
button1.zPosition = 120
button1.position = CGPoint(x: self.size.width * 0.3, y: self.size.height * 0.32)
self.addChild(button1)
}
有没有办法使用我给它的名字来引用它?
我尝试研究在线方式,但是不确定是否在寻找正确的问题。
我希望这足以让你们了解我正在尝试做的事情。
答案 0 :(得分:0)
在函数外部声明它,例如
var button1:SKLabelNode!
然后
button1 = SKLabelNode(fontNamed: "Bulky Pixels")
但是请注意,您必须在runMathsProblem
内部发生任何事件之前调用touchesMoved
或将其设为可选,例如
var button1:SKLabelNode?
答案 1 :(得分:0)
您不能那样做。局部变量是局部变量,仅存在于定义它们的范围内。如果在函数内部定义变量,则该变量仅存在于该函数内部。
如果希望该变量对同一对象中的其他函数可见,请将其设置为实例变量:
package.json