На самом деле ваш быстрый код может быть еще проще без if let
func method() -> Boolean { return anObject?.someBoolean ?? false }
Если это фактический метод, который вы хотите реализовать, эквивалент котлина:
fun method() : Boolean = anObject?.someBoolean ?: false
Если вам нужно вычислить логическое значение из необязательного свойства:
fun method() : Boolean = anObject?.someProperty?.let{functionThatReturnBoolean(it)} ?: false
.let{}
возвращает последнюю строку в своем теле, что может быть полезно во многих случаях.
someThing?.let{}
вернет null
, если someThing
равно null
из-за необязательного сцепления.
?:
- это оператор значения по умолчанию, эквивалентный ??
в swift, который возвращает значение по rhs, когда его lhs равно null
.