Nil-Coalescing演算子はSwiftについての私の好きなものの1つです。 Swiftによく慣れて以来、私はいくつかの特殊なケースに遭遇しました。 1つは変数にOptional
の値を代入したい場合です。それ以外の場合は何もしません。私は現在、これを行うための二つの方法を参照してください。この文脈で値を変更しないNil-Coalescing演算子
var a : String?
var b : String?
// Possibly assign a non-nil value to a and/or b
/* First Way */
a = b ?? a
/* Second Way */
if let b = b {
a = b
}
を第一の方法は、おそらく罰金であるように、それはそうですが、変数はmapViewController.destinationCardTitle
のようなはるかに長い名前を取得する場合、最初の方法は、かなり長い得ることができます。 の値をnil
に、または空の場合はString
に割り当てることはできません。すでにnil以外の値が含まれていて、b = nil
が含まれている場合は、a
の値を変更しないためです。
a
を2度書くことなく、基本的に次のようにする方法があるのだろうかと思います。
a = b ?? a
いただきまし間違っ二度書いて?あなた自身の演算子を書くことができます –
変数名の長さはコードのパフォーマンスに全く影響しません;-) – vadian
そうですが、私のコードの長さを減らすのがいいでしょう。さもなければ、私は、ハァハで始めるためにNil-Coalescingオペレーターを使用することはありません。 – ZGski