2

unwrapped最後の return ステートメントで変数をアンラップする必要があるのはなぜですか? 警備員はこれを処理することになっていませんか?

func test() -> String {
    let fmt = NSNumberFormatter()
    let myValue:Double? = 9.50
    guard let unwrapped = myValue else {
        return ""
    }
    return fmt.stringFromNumber(unwrapped)
}

エラー: オプションの型 'String?' の値 開封されていません。「!」を使用するつもりでしたか? また '?'?fmt.stringFromNumber(アンラップ)を返す

4

1 に答える 1

8

変数ではありませんunwrapped。それstringFromNumberは : オプションの文字列を返します。ただし、関数は文字列を返すため、ラップを解除する必要があります。

return fmt.stringFromNumber(unwrapped)!

次の 2 つの違いがあります。

return fmt.stringFromNumber(unwrapped!)
return fmt.stringFromNumber(unwrapped)!
于 2015-11-28T04:59:41.737 に答える