Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Memory 在swift中是否有一种简洁的方式来展开和分配?_Memory_Swift - Fatal编程技术网

Memory 在swift中是否有一种简洁的方式来展开和分配?

Memory 在swift中是否有一种简洁的方式来展开和分配?,memory,swift,Memory,Swift,我在swift中有一段难看(但仍在工作)的展开代码: var color = UIColor.whiteColor() if ( label.backgroundColor? != nil ) { color = label.backgroundColor! } 有没有比在C++中更简洁的方法来写这个? Swift具有“零聚结运算符”??,该运算符的功能与您的完全相同 您正在寻找: let color = label.backgroundColor ?? UIColor.whiteColo

我在swift中有一段难看(但仍在工作)的展开代码:

var color = UIColor.whiteColor()
if ( label.backgroundColor? != nil )
{
  color = label.backgroundColor!
}
有没有比在C++中更简洁的方法来写这个? Swift具有“零聚结运算符”
??
,该运算符的功能与您的完全相同 您正在寻找:

let color = label.backgroundColor ?? UIColor.whiteColor()
如中所述,
a??b

a != nil ? a! : b

其中
b
仅在
a==nil
时进行评估(短路评估)。

!我错过了阅读文档的机会。非常方便了解。@0O0O0O0:
仅在Xcode 6 beta 5中引入,因此很容易忽略这一点。
a != nil ? a! : b