какова цель двойного вопросительного знака в swift [дубликат]


этот вопрос уже есть ответ здесь:

  • ?? оператор в Swift 5 ответов

Я видел такую функцию:

public func highlightValues(highs: [ChartHighlight]?)
{
    // set the indices to highlight
    _indicesToHightlight = highs ?? [ChartHighlight]();

    // redraw the chart
    setNeedsDisplay();
}

какова цель ?? здесь? Я искал, но это кажется поиск ?? трудно найти правильный ответ.

1 66

1 ответ:

это называется нулевой коалесцирующий оператор. Если highs не nil чем он развернут и значение возвращается. Если он равен нулю, то [ChartHighlight]() вернулся. Это способ дать значение по умолчанию, когда необязательным является nil.