当前位置:  开发笔记 > 编程语言 > 正文

仅在右侧不为零时执行分配

如何解决《仅在右侧不为零时执行分配》经验,为你挑选了1个好方法。

如果右侧不是零,是否有可能只执行一项任务(例如,对于非选择性财产)?我正在寻找一个单行表格:

if let unwrapped = funcThatReturnsOptional() {
    object.nonOptionalProperty = unwrapped
}

Martin R.. 5

与您的代码具有相同效果的单个表达式是

funcThatReturnsOptional().map { object.nonOptionalProperty = $0 }

但是您的代码绝对具有更好的可读性。

在此使用的map()方法,Optional并且仅当函数不返回时才执行闭包nil



1> Martin R..:

与您的代码具有相同效果的单个表达式是

funcThatReturnsOptional().map { object.nonOptionalProperty = $0 }

但是您的代码绝对具有更好的可读性。

在此使用的map()方法,Optional并且仅当函数不返回时才执行闭包nil


@ Ch1llb4y:我不知道这样的解决方案。您可以定义一个自定义赋值运算符。问题是即使您没有在运算符函数中分配新值,inout参数也会触发属性设置器。
推荐阅读
小色米虫_524
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有