我试图创建一个if语句或switch语句,并创建一个要使用的变量。

    if (randomIcon == 1) {
        var coolCircle = TapCircleIcon(typeOfCircle: CircleType.Circle1)
    }

    addChild(coolCircle)

我得到的问题是coolCircle的未解决标识符。这是意料之中的事,但我不知道那匹敏捷的马会是什么样子。
在Obj-C中,我可能将指针设置为NIL,然后在值存在时创建它。我怎么才能让它在Swift中正确解析呢。如何将变量设置为TapCircleIcon类,但在if/switch语句之前不创建对象?

最佳答案

更简单:

if (randomIcon == 1) {
    let coolCircle = TapCircleIcon(typeOfCircle: CircleType.Circle1)
    addChild(coolCircle)
}

更灵活:
let coolCircle: TapCircleIcon?
if (randomIcon == 1) {
    coolCircle = TapCircleIcon(typeOfCircle: CircleType.Circle1)
}
else {
    coolCircle = nil  // or something else
}

if let coolCircle = coolCircle {  // not nil
   addChild(coolCircle)
}

10-08 02:47