Nu stiu cum sa-i zic pe romaneste acestui operator ?? in Swift. De doua ori semnul intrebarii ar suna ridicol.
Documentatia Apple spune ca a ?? b este prescurtarea de la
a != nil ? a! : b
Ce ar insemna asta?
Daca a nu este nil atunci forteaza pe a sa devina a! – valoare unwrapped, in caz contrar, adica daca a este nil, a devenind b.
Ca sa intelegem mai bine, dam un mic exemplu:
let defaultColorName = "red"
var userDefinedColorName: String? // defaults to nil
var colorNameToUse = userDefinedColorName ?? defaultColorName
// userDefinedColorName is nil, so colorNameToUse is set to the default of "red"
userDefinedColorName este implicit nil atunci cand se face initializarea.
Var-ul colorNameToUse ia valoarea userDefinedColorName daca nu este nil (nu este cazul) si in acest caz va lua valoarea defaultColorName.