如果右侧不为零,是否有可能仅执行分配(例如,分配给非可选属性)?我正在寻找一种形式的表格:
if let unwrapped = funcThatReturnsOptional() { object.nonOptionalProperty = unwrapped }
与您的代码具有相同效果的单个表达式是
funcThatReturnsOptional().map { object.nonOptionalProperty = $0 }
但是您的代码绝对具有更好的可读性。
在此使用的map()方法,Optional并且仅当函数不返回时才执行闭包nil。
map()
Optional
nil