Swiftで遊ぼう!の古い記事-> Life-LOG OtherSide

4つめの講義に入っていくけど、その前に疑問点が1つ...

やっぱり理解力が落ちて忘却が速いので、理解していると思っていたOttionalでつまずいた...

講義の中のコードで使われていた「if」との組み合わせで値が保持されているかどうか確認する方法ですが、playgroundを使って確認しようとして次のコードを書いてみた。

var aString: String?

if aString = "Some String" {
    println(aString)
} else {
    println("no value")
}

どうして、「if」節でエラーが出るの?

オプショナルStringに値を代入したらtrueが返るんじゃないの?

CalculatorBrainクラスの中で使われている次のようなifの使い方がそうじゃないんですか?

func performOperation(symbol: String) -> Double? {
    if let operation = knownOps[symbol] {
        opStack.append(operation)
    }
    return evaluate()
}

つまずいて立ち往生...

コメントでNaoさんが解説してくれて解決!