1
在Swift中,是否有方法在內聯條件語句中展開可選內容?在某些情況下,nil合併運算符??
不起作用,例如必須在函數中使用可選的解包函數。在內聯條件語句中展開可選
例如,假設f有簽名func f(a:Int) -> Bool
和閱讀A ? B : C
爲if A { B } else { C }
然後像下面可能是有意義的:使用!
var c:Int?
let a:Bool = let b = c ? f(b) : false
顯然,這是可以做到:
let a:Bool = b != nil ? f(b!) : false
但我儘可能避免使用!
。
它甚至可以被簡化以去除不需要的閉合層:'b.map(F)??假' – Alexander
感謝您的答案vacawama。謝謝@亞歷山大,我喜歡這個額外的整潔 – gfkeith
謝謝,@亞歷山大。我用你的建議更新了我的答案。 – vacawama