簡體   English   中英

在Swift中使用未解析的標識符

[英]Use of unresolved identifier in Swift

我試圖創建一個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)
}

由於其他答案什么也沒解釋:

您可以在if塊內聲明變量coolCircle ,這使其僅對 if塊可用。 這意味着您將無法在室外再次使用它。
我會用@fluidsonic的答案來解決問題。

希望能幫助您的理解:)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM