2015-06-15 14 views
51

我已經看到了這樣的功能目的:什麼是雙問號在迅速

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

    // redraw the chart 
    setNeedsDisplay(); 
} 

什麼的??這裏的目的是什麼?我搜索了,但它似乎搜索??很難找到一個正確的答案。

回答

87

它被稱爲零合併運算符。如果highs不是nil比它是解包和返回的值。如果沒有,則返回[ChartHighlight]()。當可選項爲nil時,這是一種給出默認值的方法。

+2

完美。不是英語母語的人,搜索它並不容易... – Wingzero

+14

nil-coalescing運算符a ?? b是 a!= nil的快捷方式?一個! :b –

+0

謝謝你的解釋。 – Raja