Какова цель двойного вопросительного знака в быстром - программирование
Подтвердить что ты не робот

Какова цель двойного вопросительного знака в быстром

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

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

    // redraw the chart
    setNeedsDisplay();
}

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

4b9b3361

Ответ 1

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